zoukankan      html  css  js  c++  java
  • 经验总结18--EF改动关系,多对多

    EF改动关系让我费事蛮多时间。能查的资料少,网上试了非常多方法都不正确。

    最后还是自己研究出来了。在这里和大家分享下,有更好的方法也能够分享下。

    首先说说我一般做改动功能时,前台传參数,后台使用对象接收,然后使用实体包括,改动策略,提交数据库就可以。(之前应该有文章说过)

    可是涉及到关系时,又一次赋值后,内存能够改变,但没有更新数据库。

    试了非常多办法。開始以为是配置的问题。一直找相关的内容。都没效果。

    以下分享下实现过程:

    1、前台传參。

    EditID,Name,NewRole

    2、后台接收。

    User user。注意接收时,避免EditID和实体ID名字同样,避免实体反复。

    接收并处理好Role对象。

    3、处理数据。

    User u=db.Users.Find(EditID);//从数据库查出实体

    u.Name=...//给各属性赋值

    u.Roles.Clear();//清理角色,这个为啥我也不清楚。

    没有的话。正常执行会报错。可是调试不报错,非常奇怪。这个我也是自己试出来的。

    u.Roles=NewRole;//给角色赋值。

    4、提交数据库就可以。

    db.SaveChanges();

    简单的说原理,就是改动关系,必须得是从数据库查出的实体,感觉凭技术。EF应该是能够实现的。

    有其它方法的朋友能够分享下。

  • 相关阅读:
    解决方案-BI:百科
    un-Error-ASP.NET:“/tbm6”应用程序中的服务器错误。
    JS-jQuery-EasyUI-Layout-Tabs:Tabs 标签页/选项卡
    JS-jQuery-EasyUI-Layout:Layout 布局
    jQuery-EasyUI-CSS:Icon 图标
    jQuery-EasyUI:Layout
    JS-jQuery-EasyUI:CSS
    JS-jQuery-EasyUI :目录
    ORM:百科
    ORM- IBatisNet:百科
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6897904.html
Copyright © 2011-2022 走看看