我想在EF中创建一个没有公钥的实体。支持表有一个非唯一的聚簇键,但表中的数据在概念上没有可以使用的唯一主键。
看起来EF真的不喜欢这个。有没有办法让EF接受表没有主键并且无论如何都能使用它,没有性能损失?我不在乎结果是否为只读。
答案 0 :(得分:2)
据我了解,由于实体框架基于实体的域驱动设计概念,因此每个实体必须具有唯一标识符。如果表中数据所代表的概念在概念上没有唯一标识符,那么它就不是框架所预期意义上的实体。
考虑到这一点,我将定义一个存储过程,使其可用through my object context,然后通过一个延迟加载数据的类,将这些数据封装到这些数据中,然后手动将其映射到您的对象中。重新使用并以只读方式呈现。
答案 1 :(得分:0)
您也可以通过公开视图然后将实体映射到视图来实现此目的。