0

設定例は次のとおりです。

public class Car
{
 public int CarId { get; set; }
 public int? PreviousOwnerId { get; set; }
 public PreviousOwner PreviousOwner { get; set; }
}

public PreviousOwner
{
 public int PreviousOwnerId { get; set; }
 public string Name { get; set; }
}

そしてクエリ:

var cars = db.Cars.Where( c => c.PreviousOwner.Name = "Stack" ).ToList();

ただし、一部の車に null があるため、エラーが発生しますPreviousOwnerId。内部例外は"Unknown column 'Extent1.PreviousOwnerId' in 'where clause'".

注: これは .net mysql コネクタを使用しています

4

1 に答える 1

-1

ここでの問題は、ナビゲーション プロパティに十分な構成情報がないように見えることです。(modelbuilder config や attribute config など) これは、PK/Fks に非標準の名前を使用する場合に必要です。ここでナビゲーションプロパティがどのように機能するかについての私の記事を読むことをお勧めします。

次のようなものが必要になると思います(例ではモデルビルダーを使用しています):

modelBuilder.Entity<Car>().HasOptional(c=>c.PreviousOwner).WithMany().HasForeignKey(c=>c.PreviousOwnerId);
于 2013-01-11T01:04:09.970 に答える