我有這2個波蘇斯...如何將複雜類型包含到實體索引?
public class SqlTrace
{
public int id { get; set; }
public string Name { get; set; }
public virtual List<SqlTraceFile> TraceFiles { get; set; }
}
public class SqlTraceFile
{
public int id { get; set; }
public string Name { get; set; }
public virtual SqlTrace Trace { get; set; }
}
我創建了一個1到跟蹤和文件之間一對多的關係。我想添加一個索引,使得SqlTraceFiles對於它的SqlTrace是唯一的;只要它們屬於不同的SqlTrace,就允許多個SqlTraceFiles命名相同。
下面是我有SqlTraceFileConfiguration內:EntityTypeConfiguration < SqlTraceFile>
Property(TraceFile => TraceFile.Name)
.IsRequired()
.HasColumnAnnotation("Index", new IndexAnnotation(
new IndexAttribute("IX_SQLTracefile_FileTrace", 1) { IsUnique = true }
));
Property(TraceFile => TraceFile.Trace)
.HasColumnAnnotation("Index", new IndexAnnotation(
new IndexAttribute("IX_SQLTracefile_FileTrace", 1) { IsUnique = true }
));
我的問題是,它並沒有採取「跟蹤文件=> tracefile.trace」我猜測實體希望外國鍵代替'tracefile.trace'。有沒有一種模式可以實現這一點?或者解決我的立場。
你可以用這裏提到的屬性創建索引:http://stackoverflow.com/questions/16853909/create-database-index-with-entity-framework/21743868#21743868 – Stefan
你可以把索引放在一個明確的創建FK屬性 – Stefan
有沒有辦法使用Fluent API而不是DataNotation? – Hakubex