我正在编写一个使用PCL库和IoC模式的应用程序,以促进iOS,Android等的跨平台开发。我的存储库实现了IRepository模式,我有一个使用SQLite.Net ORM的具体实现。为了充分利用SQLite.Net,我需要用注释装饰我的模型,例如
public class Stock
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
}
在某个阶段,我可能会决定开发另一个具体的实施例,例如:存储库X。
我的问题是:
这样的注释为我的模型/实体引入了对SQLite的依赖,这实际上只是一个POCO。那么,如何在没有依赖的情况下获得注释?例如,如果我将来使用Repository X并删除了SQLite,我需要删除注释吗?
我想要做的一种方法是定义一个抽象类,我的派生类上有注释。有什么想法吗?
答案 0 :(得分:1)
你可以看到Sqlite是否有类/属性的任何类型的XML Mapping关联(就像LINQ.Data那样)
或元数据的任何类型的使用。就像MVC在模型上所做的那样:
[MetadataType(typeof(TestMetadata))]
class Test
{
public int Id { get; set; }
}
class TestMetadata
{
[DisplayName("ID")]
public int Id { get; set; }
}