基本的に言えば、次のようなものがあります。
public class Product
{
public int ID {Get;Set;}
public string foo {Get;Set;}
public string bar {Get;Set;}
public virtual SubProduct subproduct{get;set;}
public int SubProductID{get;set;}
}
public class SubProduct
{
public int ID {Get;Set;}
public string foo {Get;Set;}
}
文字列を受け取り、foo を検索するメソッドがあります -
var correctproduct = (db.product.SingleOrDefault(x => x.foo == my_string);
そして、それが見つかった場合は正しい製品を使用しますが、存在しない場合は ( で確認してif correctproduct==null
、新しいオブジェクトを作成し、 を実行します.SaveChanges();
。
ただし、サブプロダクトを操作する次の部分に直行します。新しいオブジェクトを作成する部分には に数値が割り当てられていますsubproduct
が、展開しようとすると だけになりObject reference not set to an instance of an object
ます。次回実行すると、完全に機能します。
id のサブプロダクトを検索し、オブジェクトをプロパティに直接割り当てることができるアイデアはありますsubproduct
が、これが最善の方法だとは思いません。また、私の使用SingleOrDefault
は単なるハックであると感じており、これを行う最善の方法についてフィードバックをいただけないでしょうか?