ADO.NET实体框架实体价值范围协会

时间:2009-11-13 03:33:46

标签: c# .net entity-framework ado.net-entity-data-model

我有两个EF实体。一个人有一个名为HouseNumber的房产。另一个有两个属性,一个叫做StartHouseNumber,另一个叫做EndHouseNumber。

我想根据HouseNumber是否介于StartHouseNumber和EndHouseNumber之间创建这些元素之间的多对多关联。但是,我似乎只能在GUI中获得一个等于运算符。

我是否有办法通过范围完成此关联?

3 个答案:

答案 0 :(得分:1)

因此,在对此主题进行更多阅读之后,答案是你不能这样做,而且还有一个不受欢迎的行为。

实体框架中的关联必须是可读写的。如果我创建了我描述的关联,如果我将其中一个实体添加到另一个实体的关联集合中会发生什么?为HouseNumber选择使其落在开始值和结束值之间的值是多少?

执行此操作的正确方法是编写一个辅助函数,该函数接受HouseNumber的参数,并将其放在第二个实体的手工编码的分部类上。您还要编写一个只读属性来执行查找或getter方法。或者,您可以在数据库中编写可以执行此操作并将其导入实体的存储过程。

答案 1 :(得分:1)

据我所知,您无法通过关联执行此操作,但您可以使用查询执行此操作。

答案 2 :(得分:1)

理论上,您可以在创建由视图支持的关联时查看this post

但正如其他人所说,这可能不是一个好主意。

亚历