www.tjgcgs88.cn-狠狠久久亚洲欧美专区不卡,久久精品国产99久久无毒不卡,噼里啪啦国语版在线观看,zσzσzσ女人极品另类

  • <strike id="qgi8o"><td id="qgi8o"></td></strike>
  • <ul id="qgi8o"><acronym id="qgi8o"></acronym></ul>
  • <li id="qgi8o"></li>
    <ul id="qgi8o"></ul>
    <strike id="qgi8o"><rt id="qgi8o"></rt></strike>
    <ul id="qgi8o"><center id="qgi8o"></center></ul>
  • <kbd id="qgi8o"></kbd>

    如何更新使用實體框架和EntityState.Modified的對象不是每個領(lǐng)域 如何強制實體框架總是從數(shù)據(jù)庫中獲取更新的數(shù)據(jù)

    1. 讓你有要排除的屬性集合的:var excluded = new[] { "property1", "property2" };

    隨著EF5在NET 4.5中你可以這樣做:var entry = context.Entry(obj);
    entry.State = EntityState.Modified;
    foreach (var name in excluded)
    {
    entry.Property(name).IsModified = false;
    }

    EF5對.NET 4.5,它允許一個屬性被設(shè)置為即使它已經(jīng)被設(shè)置為修改不修改的新函數(shù)。 ,EF 4.3.1或EF5上NET 4中你可以這樣做,而不是:var entry = context.Entry(obj);
    foreach (var name in entry.CurrentValues.PropertyNames.Except(excluded))
    {
    entry.Property(name).IsModified = true;
    }

    2. 你不能定義這樣的異常。作為modified不過,您可以標記一個屬性:context.Entry(obj).Property(o => o.Property3).IsModified = true;
    context.Entry(obj).Property(o => o.Property4).IsModified = true;
    // etc.

    請注意,設(shè)置IsModified至false不支持,一旦你已經(jīng)標志著整個實體的狀態(tài)Modified。 你的目的我真的寧愿從數(shù)據(jù)庫中加載實體 CodeGo.net,然后更新正常的更改軌跡:var objInDB = context.Objects.Single(o => o.Id == obj.Id);
    obj.Property1 = objInDB.Property1;
    obj.Property2 = objInDB.Property2;
    context.Entry(objInDB).CurrentValues.SetValues(obj);
    context.SaveChanges();

    3. 這個問題已經(jīng)很好地回答了,但我想任何人誰愿意它提供。 此代碼為EF 4.3.1開發(fā)//You will need to import/use these namespaces
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    //Update an entity object's specified columns, comma separated
    //This method assumes you already have a context open/initialized
    public static void Update<T>(this DbContext context, T entityObject, params string[] properties) where T : class
    {
    context.Set<T>().Attach(entityObject);
    var entry = context.Entry(entityObject);
    foreach(string name in properties)
    entry.Property(name).IsModified = true;
    context.SaveChanges();
    }

    用法示例using (FooEntities context = new FooEntities())
    {
    FooEntity ef = new FooEntity();
    //For argument's sake say this entity has 4 columns:
    // FooID (PK), BarID (FK), Name, Age, CreatedBy, CreatedOn
    //Mock changes
    ef.FooID = 1;
    ef.Name = "Billy";
    ef.Age = 85;
    context.Update<FooEntity>(ef, "Name", "Age"); //I only want to update Name and Age
    }

    相關(guān)評說:

  • 諸葛步13167469496: 提高entity framework 性能,要注意哪些事情 -
    泉港區(qū)棘爪: ______ 提高entity framework 性能的注意事項如下:1. 分頁的時候,盡量在數(shù)據(jù)庫里面去分頁.2. 盡量禁用延遲加載,盡量使用預(yù)加載和顯式加載查詢.如果啟用延遲加載,這樣會造成多次往返數(shù)據(jù)庫查詢的.勢必造成性能低下.3. 注意事務(wù)的簡短性.在使用...
  • 諸葛步13167469496: flask - SQLAlchemy 的 update 操作是怎么用的呢 -
    泉港區(qū)棘爪: ______ 更新實體屬性 例如:user.name = 'new name' 之后直接添加提交這個實體就更新到數(shù)據(jù)庫了 例如:db.session.add(user) db.session.commit()
  • 諸葛步13167469496: hibernate update 問題 -
    泉港區(qū)棘爪: ______ 反射!自己寫一個反射操作方法,獲取數(shù)據(jù)庫中老數(shù)據(jù),再將非空的新屬性SET到老數(shù)據(jù)對應(yīng)的字段就可以了,然后再MERGE或者UPDATE.反射的具體方法是,method[] methods = XXXEntity.getClass().getDeclaredMethods();(可能有拼寫錯誤,請參照API) 然后遍歷methods,找到兩個實體對應(yīng)的get和set方法,將頁面?zhèn)鬟f過來的非空新數(shù)據(jù)對應(yīng)地set到老數(shù)據(jù)中去.不知是否是你需要的?
  • 諸葛步13167469496: 如何:在數(shù)據(jù)庫發(fā)生更改時更新 EDM -
    泉港區(qū)棘爪: ______ 模型更新向?qū)Ц鶕?jù)數(shù)據(jù)庫更改而更新 EDM 時將會覆蓋存儲模型.模型更新向?qū)н€會對概念模型和映射進行某些更改,然而只在對象添加到數(shù)據(jù)庫時才會進行這些更改.例如,當表添加到數(shù)據(jù)庫時,新的實體類型將會添加到模型中;當列添加到...
  • 諸葛步13167469496: 利用entity framework修改SQL數(shù)據(jù)庫中數(shù)據(jù) -
    泉港區(qū)棘爪: ______ 修改之前 先取得 DB中的值 然后把 你取得的值 負值到ENTITY里邊 修改的時候只是修改當前你要修改的 就可以了 但是會有一個悲觀鎖的問題發(fā)生: 也就是當你取得DB 的值 往ENTITY里放完后,進行修改再更新,這一過程中 有可能 別人在這個時候 把其他的字段給更新了 那么 你就同時把別人的操作給覆蓋了, 這個悲觀鎖的問題有前提條件 才能發(fā)生,就是是否有很多人同時操作這個表
  • 諸葛步13167469496: Entity Framework 5.0 調(diào)用存儲過程 返回值為什么是int類型 -
    泉港區(qū)棘爪: ______ 存儲過程的返回值類型固定為int類型,不支持其它類型,函數(shù)才可以返回多樣化類型.如果你要通過存儲過程傳遞數(shù)據(jù)出來,請使用輸出型參數(shù). 這是SQL的基礎(chǔ)知識,和C#無關(guān).
  • 諸葛步13167469496: 自行歸納總結(jié)在實體機上安裝操作系統(tǒng)的基本步驟 -
    泉港區(qū)棘爪: ______ 歸納如下:一、準備工作:1、百度“MSDN我告訴你”,下載一個系統(tǒng)鏡像文件.2、在“百度”下載一個“軟碟通”.3、在“驅(qū)動精靈”官網(wǎng)下載一個帶網(wǎng)卡驅(qū)動的“驅(qū)動精靈”.4、準備一個4G或以上的U盤.二、做啟動盤:1、安裝“軟...
  • 諸葛步13167469496: 開發(fā)一個程序,使用實體類 與 直接 調(diào)用運行sql存儲過程的函數(shù) 獲取數(shù)據(jù),有什么區(qū)別? -
    泉港區(qū)棘爪: ______ 使用實體類的時候:先通過 某些工具或代碼自動生成的 存儲過程獲取數(shù)據(jù),再加載進實體類,實際上時間消耗比直接sql大,但因為是是靠工具的,而這些工具大都是高手寫的,所以會幫你降低很多隱患 ,比如SQL注入.而且因為他們已經(jīng)寫好...
  • 久久精品视频网站| 大地影视mv高清视频在线观看| 老湿机香蕉久久久久久| 国产高清精品在线91| 欧洲成人午夜精品无码区久久| 成全在线观看免费高清电视剧| 国产欧美日韩精品专区| 亚洲国产成人精品无码区在线| 久久大香萑太香蕉AV黄软件| 国产制服丝袜一区二区三区|