我正在玩POC项目的Entity Framework。 在我的数据库中我有
Category<-------CategoryProduct ------->Product
(连接表是模型中的实体。)
如何选择 / 插入 / 更新或删除?
答案 0 :(得分:13)
假设CategoryProduct
表只是由两个FK组成,一个到Product
,一个到Category
...... EF默认不会生成CategoryProduct
个实体,而不是操纵该表,您需要使用Product.Categories
或Category.Products
集合创建/删除关系。
即。添加一行:
product.Categories.Add(category); // or category.Products.Add(product);
删除一行:
product.Categories.Remove(category); // or visa versa
查询表,即获取该表中的行:
var pc = from c in ctx.Categories
from p in c.Products
select new {CategoryID = c.ID, ProductID = p.ID};
并且更新没有意义,因为PK(不能更改)是所有列,即行的列都不能更新,因此行本身无法更新(当然不包括删除)。
希望这有帮助
亚历克斯詹姆斯答案 1 :(得分:1)
有两种方法,至少有两种我能想到的方法:
选项2是更好的方法,但目前有限制,如果您有与CategoryProduct关联的其他数据,它将无效。