こんにちは、ここ数日、頭を悩ませている質問があります。SQL サーバー データベースと C# アプリケーションがあります。DBには別のテーブルがあります。簡単なexテーブルをお見せしましょう:Person Relationship City
ビジネス ルール: その人物は市出身なので、その人物は IdCity を持っています ある人物は他の人物と関係があり、その関係について開始日を保存する必要があります。
他のプロジェクトで私はすでにそのようなことをしましたが、このプロジェクトではこれはうまくいきません。
LinQで人物の情報を取得したところ、都市が来ず、「person.city.description」で試してみるとエラーが出ました。linq クエリで Include("City") を使用しようとしましたが、うまくいきませんでした。その上、私は個人間の関係への循環参照を管理する方法がわかりません。
問題になる可能性があると思う重要なことの1つは、DataModelのすべてのテーブルの名前を変更することです。たとえば、データベースのテーブルはPrd_Cityと呼ばれるため、C#プロジェクトで市の名前とエンティティセット名を変更します. したがって、含まれているものでは、実際のテーブル名を使用する必要があります。それ以外の場合、クエリは失敗しますが、実際の名前を使用しても何も起こりません。
using (var context = new MyContext())
{
List<Person> oPeople = (from p in context.Person.Include("Prd_City")
select p).ToList();
return oPeople ;
}
どんな助けでも大歓迎です。ありがとう!