【问题标题】:Creating a platform to handle CRUD scenarios for unknown entities创建一个平台来处理未知实体的 CRUD 场景
【发布时间】:2019-04-05 05:52:43
【问题描述】:

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

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

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

我还想使用 C#、Entity Framework 和 JSON.NET 来处理这些动态实体并在它们上处理业务逻辑。

另一种解释方式如下:

通过 UI,我希望有人能够执行以下操作:

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

创建一个名为 Author 的实体。
Author 具有以下属性:FirstName、LastName

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

【问题讨论】:

  • 我们不提供建议,如何将它们标记为正确,它们将是主观的,所有这些都与本网站无关。您可能想阅读:stackoverflow.com/help/how-to-ask
  • @JohnB 我改写了它,以便我可以将其标记为正确。

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


【解决方案1】:

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

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

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

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

快速搜索向我展示了如何创建 using ADO.NET 的教程。我没有仔细看,但你可以肯定,这样的应用程序并不像按照教程那么简单。

我还想使用 C#、Entity Framework 和 JSON.NET 来处理这些动态实体并在它们上处理业务逻辑。

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

因此,EF 是不适合这项工作的工具。我认为 ADO.NET 是你能做的最好的。你要创建一个低级的数据库应用程序,所以你需要使用一个低级的工具。


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多