学习第六天@Linq操作

 

 

问题:

在Linq中怎么删除一对多或多对多的映射关系表?

 

在MVC的Models的打开数据库文件

双击XXX.edmx

 

得到一张画好的Linq风格的数据库关系图:

 

比如要删除表User和表Role的映射关系的话,只需要使用其导航属性下的Roles,将其遍历删除:

User user = context.Users.Single(x => x.UserId == id);

while(user.Roles.Count>0)

            {

                Role x = user.Roles.First();               

                user.Roles.Remove(x);

            }

注意:这个和普通的SQL操作不一样,Linq是面向对象的,因此不需要到

UserRoles映射表删除记录!

实际上,这个导航属性即由UserRoles映射表自动生成的,在SQL风格的数据库关系图中存在UserRoles映射表,但在Linq风格的数据库关系图中却没有这张表了,而是Linq自动将这张表转换成导航属性!

SQL风格的数据库关系图:

 

精华注

       在级联删除中,可以根据Linq风格的数据库关系图中导航属性顺序删除下来即可!

 

 

 

问题:

怎么利用默认以更加方便?

 

如果一个按钮类型是submit,那么,它将自动执行和View名相同的action,这个是缺省值。

如果理解这个问题,那么在编程的时候就能省下许多事,包括submit提交,return View()等。

你可能感兴趣的:(LINQ)