1

私はこのコードを持っています:

var data = context.Accounts.Where(a => a.UserName == User.Identity.Name).Select(a => a.UserAddons).SingleOrDefault();
if (data == null)
   data = new UserAddons();
{setting up properties of data}
context.SaveChanges();

UserAddons の新しい行を作成したい。しかし、それはしたくありません。これを行うには、Account エンティティ全体を選択する必要がありますか?

4

2 に答える 2

1

新しいエンティティをコンテキストに追加するのを忘れている可能性があります。これを試してください(テストされていません):

bool isNew = false;
var data = context.Accounts.Where(a => a.UserName == User.Identity.Name).Select(a => a.UserAddons).SingleOrDefault();

if (data == null)
{
   data = new UserAddons();
   isNew = true;
}  

// setting up properties of data

if(isNew)
    context.Add(data);

context.SaveChanges();
于 2013-01-02T14:04:41.657 に答える
1

私があなたのモデルを正しく理解しているなら、新しいUserAddonsものをAccount

var account = context.Accounts.Where(a => a.UserName == User.Identity.Name).Single();

if (account.Addons == null)
   account.UserAddons = new UserAddons();

{setting up properties of account.Addons}

context.SaveChanges();
于 2013-01-02T14:20:46.940 に答える