2016-01-24 57 views
0

我有一個名爲'DEPARTMENT'的表格,並有2列'DeptID'和'DeptName'。 我已經爲此創建了屬性。是否可以添加記錄而不使用LINQ to SQL中的自動生成的類?

class DepartmentClass 
{ 
    public int Did { get; set; } 
    public string Dname { get; set; } 
} 

現在,我不想使用自動生成的「DEPARTMENT」類,而想使用上述屬性添加條目。

DepartmentClass newDept = new DepartmentClass(); 
     newDept.Did = 120; 
     newDept.Dname = "Shell Scripting"; 
     db.DEPARTMENTs.InsertOnSubmit(newDept); //this has invalid argument 
     db.SubmitChanges(); 

請讓我知道是否有任何方法使它成爲可能?

+0

您可以嘗試使用POCO,這意味着你會使用Existing類並裝飾它們來爲數據庫創建匹配的表和列名稱。 – Agalo

+0

你在使用實體框架嗎?當你說「自動生成的類」時,這是否意味着你正在使用數據庫優先方法? –

+0

你想要這個的原因是什麼?總是不願意使用像Dname這樣的縮寫。你爲什麼不使用生成的類? –

回答

0

如果你有很多這樣的轉換,你可以試試automapper。這是一個免費的工具,可以將poco映射到數據類,反之亦然。我喜歡它是你做的映射一次,當應用程序初始化,然後調用進行轉換是相當簡單的,即

db.DEPARTMENTs.InsertOnSubmit(Mapper.Map<DEPARTMENTs>(newDept)); 
db.SubmitChanges(); 

https://github.com/AutoMapper/AutoMapper/wiki/Getting-started

+0

只有鏈接的答案可能會在評論過程中被刪除:http://stackoverflow.com/help/how-to-answer –

+0

我不能留下評論。我不是足夠酷的堆棧溢出,對不起。 雖然,我不明白這不能回答這個問題。它正是他正在尋找的東西。也許你可以提供澄清 – Muckeypuck

+0

我把例子放在海報代碼的上下文中。希望能更好地說明它是如何解決這個問題的 – Muckeypuck

相關問題