我想在没有公钥的情况下在 EF 中创建一个实体。后备表有一个非唯一的聚集键,但表中的数据在概念上没有它可以使用的唯一主键。
看来EF真的不喜欢这个。有什么方法可以让 EF 接受该表没有主键并让它与它一起工作,而不会影响性能?我不在乎结果是否是只读的。
我想在没有公钥的情况下在 EF 中创建一个实体。后备表有一个非唯一的聚集键,但表中的数据在概念上没有它可以使用的唯一主键。
看来EF真的不喜欢这个。有什么方法可以让 EF 接受该表没有主键并让它与它一起工作,而不会影响性能?我不在乎结果是否是只读的。
据我了解,由于实体框架基于实体的域驱动设计概念,因此根据定义,每个实体都必须具有唯一的标识符。如果您的表中的数据所代表的概念在概念上没有唯一标识符,那么它就不是框架预期的实体。
考虑到这一点,我将定义一个存储过程,通过我的对象上下文使其可用,然后通过延迟加载数据的类使封装此数据的对象可用,手动将其映射到您正在使用的对象中并呈现它以只读方式。
您还可以通过公开视图然后将实体映射到视图来完成此操作。