使用EF创建自定义成员资格提供程序

3
我正在尝试在使用Entity Framework的ASP.NET MVC 3中实现自定义会员提供程序。为了用户数据,我创建了一个包含所有登录数据以及更多信息的User类。 当我尝试实现MembershipProvider时,出现了一些需要实现的方法,这些方法在签名中有一个MembershipUser参数:
public override void UpdateUser(MembershipUser user) 

我知道我可以让我的User类继承MembershipUser类,这不是问题。但是当我尝试让它继承时,我无法为只读属性(如Email和其他属性)设置值。
这些方法是否可以接受类型为User的对象?或者也许有其他更好的方法吗?
1个回答

0

参考资料

http://msdn.microsoft.com/en-us/library/ms152065.aspx

只使用所需参数的自定义MembershipUser

http://www.codeproject.com/Articles/165159/Custom-Membership-Providers

答案

您可以创建MembershipUser的实例,并在构造函数中传递属性(只读或非只读),然后返回该MembershipUser实例。

MembershipUser类的文档有一句话帮助我更好地理解这个问题:

创建新的MembershipUser对象不会将新的成员用户对象添加到成员数据存储中。

如果添加自定义属性很重要,那么您需要对MembershipUser进行子类化。

例如,请参见:仅使用所需参数的自定义MembershipUser

最后一个参考链接显示了一篇很好的文章,其中使用Linq-to-Sql而不是EF的自定义成员提供程序,但相似之处很多。

希望这可以帮助您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接