据我所知,要保存在数据库中的属性不能是只读。 IIdentity属性:AuthenticationType,IsAuthenticated和Name都是只读的。实体框架和IPrincipal/IIdentity的实现
是使包装的属性,需要保存唯一的解决方案或有更好的?
编辑: 我可能没有解释我的问题。下面是只读属性的一个示例代码,我已经加入UserName属性的实体框架:
Public Property UserName As String
Get
Return _userName
End Get
Private Set(value As String)
userName = value
End Set
Public ReadOnly Property Name As String Implements System.Security.Principal.IIdentity.Name
Get
Return UserName
End Get
End Property
我想要问的是,如果有做的任何更好的办法。
使用代码首先,不是EDMX,但您的示例与我一直在做的类似(我使用Get和Private Set修改了我的问题的UserName属性,以便您可以看到我一直这样做的方式)。我只是想知道,因为我找不到任何其他方式,如果有更好的方法做或不做。 – Minnie
在代码优先的情况下,它应该仍然是相同的,但是setter必须对您的上下文或配置类可见。 –
你会像这样编码:public string Name {get; **内部**设置; }? – Minnie