gpt4 book ai didi

entity-framework - 具有大量表的 Entity Framework

转载 作者:行者123 更新时间:2023-12-04 08:35:27 27 4
gpt4 key购买 nike

我们的数据库有大约 500 个表,我们希望在我们的 EF 模型中使用。在使用纯 ADO.net 多年之后,我很乐意从 50 个或更少的数量开始,只是为了让我们的脚湿润。

问题是,我们的 SQL 服务器包含数以千计存在于我们数据库中的其他表,这些表是多年来创建的,并且许多是动态生成的。信不信由你:

select count(*) from INFORMATION_SCHEMA.TABLES
73261

所以这是很多表。我发现几乎所有我尝试设计、构建或模板化 EF 模型或实体的工具要么挂起,要么不返回表列表。即使是 VS2012 中的 SQL Server 对象资源管理器也不会列出表,而是显示 Tables 文件夹,图标上有一个小“x”。所以我什至无法选择表格的子集。

我有哪些使用 EF 的选项?是否有一个模板,我可以在其中明确定义要使用实体的表?即使有 50 个表,我也不想在空的 EDMX 中对每个表进行手工编码。

最佳答案

使用数据库/代码优先方法并完全避免将 Visual Studio 连接到数据库(即不创建 edmx,或连接服务器资源管理器)将使您可以轻松地做到这一点。它不会给您任何模型优先的优势,但我认为听起来您的项目最好使用数据库/代码优先方法,因为:

  1. 您有一个现有模型,并且不希望将更改从您的 EDMX 推送到数据库
  2. 您希望在您的数据库的一个子集上实现它

此链接有一个很好的总结(Code-first vs Model/Database-first),但需要注意的是,在您的情况下,数据库/代码优先方法不会让您将更改从代码推送到数据库,因此代码下的最后两个项目符号首先适用较少,而你的是数据库/代码优先混合体。

有了 70k 个表,我认为任何 GUI 都会很棘手。当我说数据库/代码优先时,我试图表达您没有使用代码来创建/定义和更新数据库。有人可能能够更简洁/准确地回答这个问题?

关于entity-framework - 具有大量表的 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14336264/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com