我的主键是一个guid列,我希望在表中的另一列上有一个唯一索引。我读到EF4对唯一索引没有任何作用。我的问题是:我可以向部分类添加任何允许我在数据到达数据库之前检查非唯一值的代码。目前我正在使用以下配置:
用户桌面<> wpf Datagrid<>可观察的收集<> EF4<> SqlCe数据库。
提前致谢。
理查德
答案 0 :(得分:0)
我认为它不能做到这一点,因为跟踪值唯一性实体框架要求将表中的所有记录读入内存,或者对每个值进行数据库查询更改。它是性能无效的方式,我认为实体框架不支持这一点。
答案 1 :(得分:0)
支持独特的关键概念绝对是我所听到的下一版EF的范围。但是,唯一性将在objectcontext级别强制执行,这意味着当前在对象上下文中跟踪的内容。这与目前在EF4中有效的级联删除概念相同。在级联删除中,EF仅对当前在objectcontext中加载的实体强制执行级联删除。它不会尝试从数据库加载所有内容。