我在我的数据库中的两个表之间有多对多的关系,所以在我的edmx模型中,我只有两个表,没有中间表。这些表是电影和流派。许多对象包括很多对象
当我搜索一些电影时,我也得到了相关的实体,因此在加载时我填充了我的实体电影的集合流派。是我想要的。
问题是,当结果中有多个电影时,实体MOvies的集合流派被填充,而且实体流派的集合电影被填充。因此,当我向存储库发送一个要更新的电影时,如果我将该实体附加到上下文,则附加该电影和所有与我想要更新的电影具有相同类型的电影。这是因为在实体的类型中包含与我想要更新的电影类型相同的电影。
因此,如果我在第一次搜索时收到很多电影,当我想更新一部电影时,我发送了很多不需要种子的实体,因此网络中的流量很大。
有没有什么办法可以在我搜索结果时在流派实体中收集的电影没有填充?因为我只填充主要实体的相关实体,而不是所有的电影。
我正在使用SQLite和EF 4.4;我试图找到mergeOption来禁用类型的跟踪,但我没有找到它。
谢谢。
“*我发送了很多实体*”...“*这是网络中的大量流量*”:您在哪里发送**实体到网络上的这些流量?在EF客户端和数据库之间,根本没有实体发送,只有SQL语句和列/行数据。如果填充逆向导航属性,那么这些数据的量不会改变。或者你的意思是用*“network”*来表示你将一个实体图移动到一个(网络)服务边界或类似的东西上? – Slauma