我只是想知道是否有办法将属性从类映射到接口而不更改其名称。
假设您从数据库中导入了一些实体
public partial class Post
{
public int PostId {get; set;}
}
public partial class Book
{
public int BookId {get; set;}
}
和界面:
public interface IHasID
{
int Id {get; set;}
}
有没有办法从这个界面继承,只使用以下属性映射属性:
public partial class Post : IHasID
{
[MetadataTypeAttribute(typeof(IHasID.Id))]
public int PostId;
}
我只是想要一个简单的方法来做到这一点,而无需包装所有代码或更改数据库。有没有办法包装parital类将其属性指向接口属性?
答案 0 :(得分:2)
您可以创建一个ID
属性来获取和设置对象的相应ID,如下所示:
public partial class Post : IHasID
{
[NotMapped]
public int Id
{
get { return PostId; }
set { PostId = value; }
}
public int PostId { get; set; }
...
你当然会为Book
做同样的事情。
答案 1 :(得分:1)
我不确定是否值得指出,只是为了知识,如果它是vb.net,你可以这样做:
Partial Public Class Post
Implements IHasID
Public Property PostId As Integer Implements IHasID.Id
End Class