2016-01-29 73 views
-2

我對實體框架工作相當陌生。雖然迄今爲止這麼好。實體框架/通用數據收集

我正在想辦法創建一個通用的數據收集平臺。

我正在考慮創建一個SQL數據庫以及所有的關鍵和關係,然後在一個通用的VS項目中生成一個edmx文件(也許是一個PowerShell腳本來完成此操作)。

這一切都很好。但我不明白,怎麼說可以創建一些通用的CRUD操作,並在創建edmx文件後自動創建這些操作。也許VS項目通用模板可以創建,但自己手動創建所有控制器和自定義視圖是不必要的。我知道這可以通過一代完成,但我希望更好地控制UI和其他事情。

我不期望一個完整的如何指導,但一些想法和想法如何這種項目將最好的工作,如果它的可能和一些技巧或技術將不勝感激。

編輯:對不起,如果這不明確。我瞭解EF,以及它如何工作以及如何輕鬆實施。我想通過編程實現我的通用框架項目和數據庫的自動化,例如某個不瞭解C#的人可以創建一個數據庫,然後運行一個腳本並將我的項目轉變爲一個完全有效的數據收集平臺。我手動自己在VS中創建一個edmx,然後使用EF上創建的工具來創建控制器,但是我想自動化這個過程。也許這需要類似powershell的東西?

+1

你的問題令人困惑,因爲你所描述的是Entity Framework已經做了什麼。 context.yourEntity.Delete(),context.yourEntity.Add()等。 –

+0

是EF爲您創建模型。但我想用一個通用的vs項目來結婚,可能使用工作單元庫模式和自定義ui。如果我有一個數據庫設置和我的通用vs項目我怎樣才能創建ef模型和控制器飛行編程?理想情況下創建數據庫並運行腳本來創建平臺? – RedCrusador

+0

@RedCrusador我認爲你錯過了它......正如斯蒂芬所說...... EF是一個框架......它允許你做這一切..根據你的泛型..再次我認爲你錯過了它.....研究通用知識庫。 EF不會爲您創建模型。基於EF構建的工具爲您創建它們,其中有很多。如果你知道什麼是UOW存儲庫,那麼我很難理解你爲什麼要問這種類型的問題。 – Seabizkit

回答

1

現在好了,我會跟你說: 1:泛型類型實體 舉例:

Public Person() 
{ 
public string ID{get;set;} 
public string Name{get;set;} 
} 

上下文文件:

public class Context:DbContext 
{ 
     public Context():base("your connection in your web config or app") 
     public DbSet<Person> Person{get;set;} 
} 

package manager console: 
enable-migration --->Enter 
add-migration inital --->Enter 
update-database ---->enter 

現在你不能調用通用在實體框架:

Context context=new Context(); 
context.Set<Person>().Insert(new Person{ID="1",Name="Cuong"}); 

如果你瞭解它,我認爲你可以寫ge neric實體。 如果你想討論一下。你可以跟我說Skype,我會和你分享我的經驗。但是我想你會想,研究它和Repository Partern.My Skype [email protected]或者nhtcuong90