sql >> データベース >  >> RDS >> Oracle

OracleODP.NetおよびEFCodeFirst-SaveChangesエラー

    Attach()のアイデア 方法は、DBにあることがわかっているが、このコンテキストによって追跡されていないエンティティがあるということですよね?あなたへの私の質問は、この役割がここにあることを確かに知っていますか:

    Role r = new Role { ID = 1, Name = "Members" };
    

    すでに存在するものですか?そうでなければ、あなたがやりたいことは使用することではないと思います

    ctx.Roles.Attach(r);
    

    むしろそれはあなたが書くということです:

    ctx.Roles.Add(r);
    

    その後、振り返って書くことができます

    User u = new User {
        Login = login,
        Password = password,
        Status = 1,
    };
    
    ctx.Users.Add(u);
    u.Roles.Add(r);
    ctx.SaveChanges();
    

    最初の例の問題は、この新しい役割がDBにとって本当に新しいため、それをアタッチすることはあなたがやりたいことではなく、追加したいということです。

    そして、ctx.SaveChanges()への1回の呼び出し ここでは問題なく動作するはずです。




    1. OracleID列とselectに挿入

    2. MySQLデータベースのデータを更新する

    3. SQL ServerのCHOOSE()関数に相当するMySQLとは何ですか?

    4. SQLServerの監視でアラートの過負荷を防ぐための4つの方法