私の外来キー列に必要な名前を付けようとしています。EFコアの流暢なAPIにForeignKey列名を設定する方法
私はbuilder.Propertyと私のForeignKeyを設定した場合、私は関係を作成するときに、
var b = builder.Property(column.PropertyType, column.PropertyName);
b.ForSqlServerHasName("MyFKColumnName");
、別名、私は、移行のエラーを持っている: 「ナビゲーションプロパティ 『LettreClePrincipale』エンティティに追加することはできませんエンティティタイプ 'LettreCleAssociation'に同じ名前のプロパティが既に存在するため、 'LettreCleAssociation'と入力してください。 "
私はbuilder.Propertyと私のForeignKeyを設定しない場合、このエラーは、消えたキーが正しく作成されていますが、私はプロセス中に名前を設定することはできません。
ltcLinkBuilder.HasOne(typeof(LTC).FullName, "Link1")
.WithMany().IsRequired()
.HasForeignKey("Link1ID").OnDelete(Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Cascade)
.???
私は私を定義しましたこのようなモデル(より多くのプロパティを聖霊降臨祭)
class LTC
{
public int TestA { get; set; }
public string TestB { get; set; }
public Guid Id { get; set; }
protected ICollection<LTCLinks> _links { get; set; }
public IReadOnlyList<LTCLinks> Links
{
get
{
return _links.ToList().AsReadOnly();
}
}
}
class LTCLinks
{
public Guid Link1ID { get; set; }
public LTC Link1 { get; set; }
public Guid? Link2ID { get; set; }
public LTC Link2 { get; set; }
public string Data { get; set; }
}
私はここにForSqlServerHasNameまたはForSqliteHasName拡張メソッドを持っていません。これを達成するにはどうすればいいですか?
EFCore 1.1プレビュー1
はあなたのエンティティクラスをしてください表示します。 – Dmitry
このケースでは非常に巨大なものですが、私はそれの短いバージョンを投稿します – cdie