は現在、私は次のようになりモデルで作業する私のエンティティを持っている:これは良い取り組んでいるが、私はモデルでの外国企業のために、明示的に作成されたIDプロパティを持つCodeFirstの例を見ておくEF4.1 CodeFirstエンティティに外部ID列を明示的に追加すると、外部キー制約の競合が発生するのはなぜですか?
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual User User { get; set; }
}
。これは理にかなっており、MyModel
インスタンスに関連付けられたユーザーのid値を取得するためにユーザーに遅延ロードを行う必要はありません。
私がするMyModel
を変更するときしかし、:
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual int UserId { get; set; }
public virtual User User { get; set; }
}
MyModel
インスタンスをコミットしようとしたとき、私は次の例外を取得:
System.Data.SqlClient.SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint "MyModel_User". The conflict occurred in database "mjlunittest", table "dbo.Users", column 'Id'.
は、なぜ私はこの例外を取得していますか?
Ahaは、それがすべて意味があることを再読した後です。ありがとう! – KallDrexx