据我所知,对于要保存在数据库中的属性,它不能为ReadOnly。IIdentity属性: AuthenticationType、IsAuthenticated和Name都是ReadOnly。
对需要保存的属性进行包装是唯一的解决方案,还是有更好的解决方案?
编辑:我可能没有很好地解释我的问题。下面是一个ReadOnly属性的示例代码,我已经为实体框架添加了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我想问的是,有没有更好的方法。
发布于 2011-09-02 22:25:33
IIdentity属性是只读的,但实现可以有setter。如果你使用EDMX来映射你的don't have to expose these setters as public。
编辑:
这在C#中是可能的,所以希望你可以在VB.NET中使用类似的方法(我只能读VB代码,不能写):
public interface ITest {
string Name { get; }
}
public class Test : ITest {
public string Name { get; set; }
}即使接口没有定义setter,该类也提供了setter。
发布于 2011-08-25 01:21:43
EF持久化对象,而不是接口。您的对象可以具有您希望它具有的任何属性。不能向实体模型添加接口,但可以添加实现该接口的对象类型。
https://stackoverflow.com/questions/7179539
复制相似问题