Entity Frameworkの外部キーとマッピングに関する簡単な質問があります。別のアセンブリでエンティティフレームワークの単純な外部キー
public interface IUser
{
int Id { get; set; }
}
public class RestaurantGuest : IUser
{
public int Id { get; set; }
}
とクラス訪問、外部キーによってRestaurantGuestへの参照を持つべきである: は例えば、私はクラスRestaurantGuestを持って
public class Visit
{
public int Id { get; set; }
public IUser Guest { get; set; }
public int GuestId { get; set; }
}
RestaurantGuestclassはないと持つべきではありませんan IList<Visit> Visits {get;set;}
エンティティフレームワークでどのようにマップするのですか?
私はこのような何か(それは動作しません)予想:私はのリストを追加したくない
builder.VersionedEntity<RestaurantGuest>()
.HasMany(o => o.Visits)
.WithRequired(v => v.Guest)
.HasForeignKey(v => v.GuestId);
:
builder.VersionedEntity<Visit>().ToTable("Visits")
.WithRequired(v => v.Guest).ToTable("RestaurantGuests")
.HasForeignKey(o => o.GuestId)
を除いてすべてのチュートリアルはこれを行うことをお勧めしますレストランゲストへの訪問。 RestaurantGuestは訪問について何も知らないはずです。
あなたは流暢なAPIの設定なしにしようとしましたか?命名規則に従って、このモデルは設定なしで期待どおりに動作します。 – Developer
愚かな質問のために私を許してください。しかし、 'VersionedEntity'メソッドは何ですか?私はエンティティフレームワークでそのようなメソッドを知らない、NHibernateについて話している? –
@IvaStoev Entity Frameworkのメソッドです。私はNHibernateで欲しいものをする方法を知っています))しかし、今はEntity Frameworkを持っており、わかっているように回避策なしでは不可能です。 – Konstantin