实体框架的 ASP .NET 成员资格
在使用内置的 ASP .NET 成员资格功能时,每个人都如何设计他们的 EF 模型?
我有许多实体(博客文章、评论、照片等),它们都有一个与之关联的用户 ID。我目前有一个映射到 aspnet_User 表的 User 模型,但是围绕 MembershipUser 实体和我创建的 User 模型有很多粗略的代码。
有没有人有任何我可能会忽略的聪明的解决方案来合并两个实体,同时仍然使用包含的成员资格功能?
How is everyone designing their EF models when using the built in ASP .NET Membership functionality?
I have many entities (blog posts, comments, photos, etc.) which have a user id associated with them. I currently have a User model that maps to the aspnet_User table, but there is lots of sketchy code juggling around both the MembershipUser entity and the User model which I've created.
Does anybody have any clever solutions I may be overlooking to merge the two entities while still using the included membership functionality?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在这种情况下,我所做的是在 SQL Server 中创建一个视图,该视图从我自己的 User 表中进行选择,并连接 ASP.NET 表中的一或两列。然后,我使用 DbContext 中的 ToTable() 将我的 User 实体映射到此视图。
这对我来说已经足够好了;请注意,如果 SQL 视图上的 UPDATE 语句影响多个表中的列,则不能使用它,因此 ASP.NET 表中的属性不应通过 EF 进行修改(如何强制执行这一点取决于您的实现)。
What I have done in this situation is to create a View in SQL Server, which selects from my own User table and joins one or two columns from the ASP.NET tables. I then map my User entity to this View using ToTable() in DbContext.
This works well enough for me; just note that you cannot use an UPDATE statement on a SQL View if it affects columns from more than one table, so the properties from the ASP.NET tables should not be modified via EF (how you enforce this depends on your implementation).