如何将成员资格表与实体框架集成? Asp.net

时间:2011-06-22 22:28:47

标签: asp.net asp.net-mvc entity-framework

我以前从未在项目中使用Entity Framework,所以我不知道从哪里开始。我正在使用按原样使用ASP.Net成员资格提供程序时创建的成员资格表。

我想创建一个包含对用户的引用的对象。例如

public int Id {get;set;}
public User User{get;set} // Where User is some object relating to Membership provider User.
public string Application {get; set;}

我使用代码第一种方法来使用EF,所以我想让它基于这个对象生成表。那么我该如何配置这个以便EF能够识别我正在创建与asp.net Membership管理的用户的关系?我应该在上面的示例中使用什么类型代替'User'(什么是asp.net类型)

对不起,如果这是模糊的。我基本上只需要一个示例或解释EF如何与Asp.net成员资格提供者架构集成。

谢谢!

2 个答案:

答案 0 :(得分:6)

如果要使用一个链接成员资格表和应用程序表的EF模型,可以使用aspnet_regsql.exe实用程序将ASP.NET成员资格表添加到现有数据库中。一些链接:

安装成员资格表后,您可以生成与成员资格模式匹配的EF代码类。我在这里发布了一个详细的演练:

Generating EF Code First model classes from an existing database

答案 1 :(得分:2)

我想说你可以创建一个“AppUser”(你自己的自定义用户对象)实体,其中相应的表具有aspnet_Membership表的“UserID”列的外键。这样,如果您需要更改或添加“AppUser”实体的属性而不是尝试更改MS表结构(这可能是一个真正的痛苦),将会更容易。您仍然可以使用类似MvcMembership入门套件DLL的内容与MVC项目中的内置MS Membership类和函数进行交互。

https://github.com/TroyGoode/MembershipStarterKit

希望这有帮助!