私は2つの要素SferaとContenutiの間にNN関係があります。
Sferaアイテムには、Contenutiエンティティセットが表示され、Contenutiには、Sferaセットが表示されます。
コードで新しいアイテムを追加するときは、次のような構造を使用します。
using (IndexDB DB = new IndexDB())
{
try
{
var newContenuto = new Contenuto();
newContenuto.Cancellato = false;
newContenuto.PK_Content_ID = tt_content_id;
newContenuto.URL = URL;
foreach(long sphere in SphereID)
{
try
{
var sfere = from sfera in DB.Sfera where sfera.PK_Sfera == sphere select sfera;
newContenuto.Sfera.Add(sfere.First());
sfere.First().Contenuto.Add(newContenuto);
}
catch (Exception exc)
{
return new StandardResponse() {Success = false, Message = exc.Message};
}
}
DB.AddToContenuto(newContenuto);
DB.SaveChanges();
return new StandardResponse() {Success = true};
}
catch (Exception e)
{
return new StandardResponse() { Success = false, Message = e.Message + e.StackTrace };
}
DBを見ると、右側の「NN」テーブルにある2つの要素間の関係がよく保存されています。しかし、要素Contenuto.SferaとSfera.Contenutoにアクセスしようとすると、常に空のセットになります。 。
アクセスするには、次のようなことを行います。
using (IndexDB DB = new IndexDB())
{
var sfere = from sfera in DB.Sfera where sfera.PK_Sfera == IDSfera && sfera.Attiva select sfera;
if (!sfere.Any())
{
response.Add(new UrlResponse() { Success = false, ErrorMessage = "" });
}
var sferaSelezionata = sfere.First();
//HERE sferaSelezionata.Contenuto.Count == 0 even if on DB there are MANY "connections"
}
}
どうすればこれを処理できますか?
どうもありがとうございます!