我得到了一個例外,當我試圖從後面的模型生成數據庫。EF6代碼第一個模型ForeignKey
'Benchmark.Data.Context'屬性'DataCenterBenchmark'上的ForeignKeyAttribute無效。在依賴類型 'Benchmark.Data.Context'上找不到名稱'BenchmarkId'的外鍵 。名稱值應該是 逗號分隔的外鍵屬性名稱列表。
[Table("Contexts")]
public class Context
{
[Key]
public Guid InternalId { get; set; }
[Required] public string Name { get; set; }
[Required] public string Cluster { get; set; }
[Required] public string Token { get; set; }
[Required] public string IP { get; set; }
[Required] public string Memo { get; set; }
[Required] public string BenchType { get; set; }
[Required] public int InstanceCount { get; set; }
[Required] public int ThreadCount { get; set; }
[Required] public int RequestCount { get; set; }
[Required] public DateTime CreationDate { get; set; }
[Required] public DateTime EditDate { get; set; }
[ForeignKey("BenchmarkId")]
public Benchmark RemoteBenchmark { get; set; }
[ForeignKey("BenchmarkId")]
public Benchmark DataCenterBenchmark { get; set; }
[ForeignKey("BenchmarkId")]
public Benchmark IISBenchmark { get; set; }
[ForeignKey("BenchmarkId")]
public Benchmark LocalBenchmark { get; set; }
[ForeignKey("MachineTypeId")]
[Required] public MachineType MachineType { get; set; }
}
[Table("Benchmarks")]
public class Benchmark
{
[Key]
public int BenchmarkId { get; set; }
[Required] public string Result { get; set; }
[Required] public DateTime Duration { get; set; }
}
[Table("MachineTypes")]
public class MachineType
{
[Key]
public int MachineTypeId { get; set; }
[Required] public string Name { get; set; }
}
public class BenchmarkContext : DbContext
{
public DbSet<Context> Contexts { get; set; }
public DbSet<Benchmark> Benchmarks { get; set; }
public DbSet<MachineType> MachineTypes { get; set; }
}
嘗試與一些教程修復它 - 沒有勝利...
問候, 馬克
=====編輯=====
取出後[ForeignKey]標誌我無法連接到我的SQL Server(錯誤26)。我沒有設置數據庫作爲連接字符串,所以EF6需要創建一個localdb ..?
爲什麼多個'[ForeignKey(「BenchmarkId」)]'在不同的導航屬性上?你想達到什麼目的?你認爲'[ForeignKey]'屬性是爲了什麼? – haim770 2015-03-31 11:35:26
我需要4個基準測試集。有更好的方法嗎? – Marc 2015-03-31 11:37:34
嘗試首先刪除所有'[ForeignKey]'屬性。看看你有什麼,然後重新描述你的問題。 – haim770 2015-03-31 11:39:46