私は非常に長い間問題を抱えています。この例を想像してみましょう:
public class Coordinate {
public int id {get;set;}
public int x {get;set;}
public int y {get;set;}
}
public class Planet {
public int id {get;set;}
public string name {get;set;}
public Coordinate coordinate {get;set;}
}
私は 2 つのモデルを作成しました。モデル Planet はモデル Coordinate を属性として持っています。ここで、コードのどこかで 1 つの座標を作成し、それをデータベースに保存するとします。これが座標だと想像してください:
Coordinate c = new Coordinate();
c.x = 1;
c.y = 2;
次に、それをデータベースに追加すると、保存されます。
しかし、惑星を作成すると、次のようになります。
planet.coordinate = c;
そして、それをデータベースに追加しようとしましたが、次のエラーが発生しました:
タイプ 'Microsoft.EntityFrameworkCore.DbUpdateException' の例外が Microsoft.EntityFrameworkCore.dll で発生しましたが、ユーザー コードでは処理されませんでした
追加情報: エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。
属性public Coordinate coordinate
を変更できることはわかっていますpublic int coordinate_id
が、代わりに Coordinate モデルでこれを行いたいと考えています。
ASP NET CORE 1.0 を使用しています
カンプス