创建一个平台来处理未知实体的CRUD方案

时间:2018-11-01 01:12:14

标签: c# sql-server entity-framework asp.net-core .net-core

我想创建一个平台,以读取实体名称,其属性和关系的XML或JSON配置,并以此为起点对这些实体进行基本的CRUD操作。

这意味着这些实体将没有C#类定义。

我想为此使用SQL Server数据库,但是我相信使用Graph或NoSql数据库之类的东西会容易得多,因为没有创建ERD的预定义结构。

我还想使用C#,实体框架和JSON.NET来处理这些动态实体并处理它们上的业务逻辑。

另一种解释方法如下:

我希望通过用户界面能够执行以下操作:

创建一个名为Book的实体。
一本书具有以下属性:标题,描述,作者(与作者一对一关系)

创建一个称为Author的实体。
作者具有以下属性:名字,姓氏

这样的平台叫什么,有人可以引导我朝正确的方向前进吗?

1 个答案:

答案 0 :(得分:4)

  

这样的平台叫什么,有人可以引导我朝正确的方向前进吗?

这些应用程序称为数据库管理。一些示例是SQL Management Studio和PHPMyAdmin。

  

我想创建一个平台,以读取实体名称,其属性和关系的XML或JSON配置,并以此为起点对这些实体进行基本的CRUD操作。

您为什么要这样做?我们已经有许多应用程序,需要数十年的开发努力。

快速搜索向我展示了一个如何创建using ADO.NET的教程。我没有仔细研究过,但是可以肯定的是,这样的应用程序并不像遵循教程那样简单。

  

我还想使用C#,实体框架和JSON.NET来处理这些动态实体并处理它们上的业务逻辑。

请记住:实体框架是ORM (Object-relational mapping tool)。要做的是在现有数据库和应用程序之间高级映射。您不想将应用程序代码映射到数据库,而是要管理该数据库。

因此,EF是执行此任务的错误工具。我认为ADO.NET是您最好的选择。您要创建一个低级数据库应用程序,因此需要使用低级工具。


也就是说,您可能只想创建一些用户定义的内容类型?然后,我们谈论的是CMS。也许您在Orchard Content Management System中找到了一些想法。