據我所知,要保存在數據庫中的屬性不能是隻讀。 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