使用Object ,你希望EF映射什麽類似到數據庫?EF 表示很爲難。。。
没确定什么数据库。希望是通用的。
对于EF,在想如何通过映射扩展来实现这些内容。
@519740105: 看了你的需求,这就是泛型解决的需求啊。为啥你觉得泛型不行呢?
@爱编程的大叔: 泛型有泛型的价值,但在这个问题的处理上,我是想绕开泛型。
我想开发一个基础框架,对数据启用ID支持,但又不想限制应用(业务)对ID的类型定义,又想在基础框架里使用上这个ID值。
也曾想过定义一个接口来表述数据实体对象,最终也觉不便。
也曾想过定义一个自定义的类型(或类或接口或结构)ObjectId来表述,发现更复杂(也没进一步深入实验)。
@519740105:
public class EntityBase<T>
{
T ID{get;set;}
//others
}
public class EntityA : EntityBase<int>
{
//除了ID属性之外的others
}
public class EntityB :EntityBase<String>
{
}
public class EntityC: EntityBase<GUID>
{
}
需要使用反射和属性读取了。
通过对象和对象的属性名称,拿到属性的值。
object obj = new ModelInfo() { Id = 123 };
int id = Convert.ToInt32(obj.GetType().GetProperty("Id").GetValue(obj));
上面是一个简单例子。
关键:我还想弄ORM,比如EF。
建议加泛型
想过用泛型,但用了泛型后,类多了,不好弄,所以,暂时还是想通过通用的ID来表述。
你需要先理解 泛型
谢谢!