实体框架/通用数据收集

时间:2016-01-29 12:52:09

标签: c# entity-framework-6

我对Entityframe工作相当新。到目前为止这么好。

我正在尝试一种创建通用数据收集平台的方法。

我正在思考某人创建SQL数据库以及所有密钥和关系,然后在通用VS项目中生成edmx文件(可能是执行此操作的powershell脚本)。

这一切都很好。但是我不明白,如何创建一些通用的CRUD操作并在创建edmx文件后自动创建这些操作。也许可以创建VS项目通用模板,但我自己手动创建所有控制器和自定义视图是必要的。我知道这可以通过一代完成,但我希望更好地控制UI和其他东西。

我不希望有一个完整的指导方式,但是关于这种项目如何最好的工作的一些想法和想法,如果它可能和一些提示或技术将不胜感激。

编辑:对不起,如果不清楚的话。我理解EF及其工作原理以及它如何易于实现。我希望以编程方式自动化我的通用框架项目和数据库,例如,不了解C#的人可以创建数据库然后运行脚本并将我的项目转变为完全正常工作的数据收集平台。我手动自己在VS中创建了一个edmx,然后使用EF上内置的工具来创建控制器,但我想自动完成这个过程。也许这需要像PowerShell这样的东西?

1 个答案:

答案 0 :(得分: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

现在你不能在实体框架中调用Generic:

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

如果您了解它,我认为您可以编写通用实体。 如果你想讨论它。你可以在Skype上跟我说我将与你分享我的经验。但我认为你会考虑和研究它和Repository Partern。我的Skype nhtcuong@live.com或nhtcuong90