我有兩個相關的表格,以及帶有視圖的自動生成控制器。 當我TRU打開的所有記錄索引列表我得到這個錯誤:什麼是錯的,System.Data.SqlClient.SqlException:無效的列名稱'tbl_rules_rulID'。?
說明:在當前Web請求的執行過程中發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。
異常詳細信息: System.Data.SqlClient.SqlException:無效的列名稱'tbl_rules_rulID'。
這裏模型tbl_rules
public class tbl_rules
{
public tbl_rules()
{
tbl_users = new HashSet<tbl_users>();
}
[Key]
[DisplayName("ID")]
public int rulID { get; set; }
[Required(ErrorMessage = "Изберете Овластување")]
[DisplayName("Овластување")]
public string Rule_Name { get; set; }
public virtual ICollection<tbl_users> tbl_users { get; set; }
}
這裏是模型tbl_users:
public class tbl_users
{
[Key]
[DisplayName("ID")]
public int uID { get; set; }
[Required(ErrorMessage = "Ве молиме внесете име на Агентот")]
[StringLength(50)]
[DisplayName("Агент")]
[MaxLength(20, ErrorMessage = "Максимален број на карактери за {0} 20")]
public string user_ime { get; set; }
[Required(ErrorMessage = "Ве молиме внесете Username")]
[StringLength(50)]
[DisplayName("Username")]
public string username { get; set; }
[Required(ErrorMessage = "Ве молиме внесете Password")]
[StringLength(50)]
[DataType(DataType.Password)]
[DisplayName("Password")]
public string Password { get; set; }
[Required(ErrorMessage = "Ве молиме внесете телефонски број")]
[StringLength(50)]
[DisplayName("Телефон")]
public string tel { get; set; }
[Required(ErrorMessage = "Ве молиме внесете Белешка.")]
[StringLength(50)]
[DisplayName("Белешка")]
public string note { get; set; }
[DisplayName("Активен?")]
public bool active { get; set; }
[DisplayName("Статус")]
public bool IsOnline { get; set; }
[DisplayName("Овластување")]
[Required(ErrorMessage = "Изберете Овластување")]
public int rullID { get; set; }
private DateTime? modified1;
public DateTime modified
{
get { return modified1 ?? DateTime.Now; }
set { modified1 = value; }
}
public virtual tbl_rules tbl_rules { get; set; }
}
位指示代碼:
public ActionResult Index()
{
return View(db.tbl_users.ToList());
}
tbl_rules SQL:
CREATE TABLE [dbo].[tbl_rules] (
[rulID] INT IDENTITY (1, 1) NOT NULL,
[Rule_Name] NVARCHAR (MAX) NOT NULL,
PRIMARY KEY CLUSTERED ([rulID] ASC)
);
tbl_users SQL:
CREATE TABLE [dbo].[tbl_users] (
[uID] INT IDENTITY (1, 1) NOT NULL,
[user_ime] NVARCHAR (50) NOT NULL,
[username] NVARCHAR (50) NOT NULL,
[Password] NVARCHAR (50) NOT NULL,
[tel] NVARCHAR (50) NOT NULL,
[note] NVARCHAR (50) NOT NULL,
[active] BIT NOT NULL,
[rullID] INT NOT NULL,
[modified] DATETIME DEFAULT (getdate()) NOT NULL,
[IsOnline] BIT NOT NULL,
PRIMARY KEY CLUSTERED ([uID] ASC),
CONSTRAINT [UserName] UNIQUE NONCLUSTERED ([username] ASC),
CONSTRAINT [ZaRules] FOREIGN KEY ([rullID]) REFERENCES [dbo].[tbl_rules] ([rulID])
);
這裏有什麼問題?
請勿張貼代碼的截圖。發佈SQL表的代碼定義。更重要的是:發佈完整的異常消息和堆棧跟蹤! – Dai
謝謝,更新 –
tbl_users中的導航屬性不遵循約定,規則id字段在表之間以不同方式命名。您必須手動映射它或更改數據庫以遵循EF約定。 – Crowcoder