实体框架多对多CRUD

Shu*_*aib 8 entity-framework

我正在玩一个POC项目的Entity Framework.在我的数据库中,我有

Category<-------CategoryProduct ------->Product

(连接表是模型中的实体.)

如何选择/插入/更新删除

Ale*_*mes 13

假设CategoryProduct表只是由两个FK组成,一个到Product一个Category...... EF默认情况下不生成CategoryProduct实体,而是操纵该表,您需要使用Product.CategoriesCategory.Products集合创建/删除关系.

即添加一行:

product.Categories.Add(category); // or category.Products.Add(product);
Run Code Online (Sandbox Code Playgroud)

要删除一行:

product.Categories.Remove(category); // or visa versa
Run Code Online (Sandbox Code Playgroud)

要查询表,即获取该表中的行:

var pc = from c in ctx.Categories
         from p in c.Products
         select new {CategoryID = c.ID, ProductID = p.ID};
Run Code Online (Sandbox Code Playgroud)

并且更新没有意义,因为PK(不能更改)是所有列,即行的列都不能更新,因此行本身无法更新(当然不包括删除).

希望这可以帮助

Alex James