问题标签 [entity-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3053 浏览

c# - “row_number”不是可识别的函数名。关键字“AS”附近的语法不正确

我创建了一个简单的项目,其中包含一个 SQL Server 数据库,其中包含数十个表和大量索引,但没有什么复杂的。没有触发器,没有存储过程,没有额外的“数据库魔法”。代码是用 C# 编写的,使用实体模型和动态数据站点来快速设置基础知识,所以可以让一些打字猴子工作并做一些基本的数据输入,而我将修改项目变得更加成熟.

在 SQL Server 2005 上对其进行了测试,一切正常。因此,我通过 Visual Studio 进行了设置,并将其发送给打字猴子及其管理员。他们所要做的就是:1)创建一个新数据库。2) 执行数据库的创建脚本。3)安装我给他们的设置。4)修改连接字符串,为了方便起见,它恰好放在一个特殊的配置文件中。5) 使用网络界面,如果出现问题,请通知我。

出了点问题。这个完整的错误:第 1 行:'(' 附近的语法不正确。'row_number' 不是可识别的函数名。关键字'AS' 附近的语法不正确。

我不在我的代码中使用“row_number”。我只是使用 Linq 进行查询。此外,由于实体模型,我什至不必担心做任何 SQL 的事情。(尽管我很擅长。)

我的第一个猜测是他们使用了错误的连接字符串。他们可能正在 SQL Server 上安装此应用程序(应该仍然可以工作),但他们没有完全更改连接字符串,现在我的项目认为它正在使用 SQL Server 2005。(或其他。)我是对的还是这是由某些原因引起的其他讨厌的错误?

完整错误:

[SqlException (0x80131904):第 1 行:'(' 附近的语法不正确。'row_number' 不是可识别的函数名。关键字'AS' 附近的语法不正确。]
System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔值breakConnection)+1950890 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔 breakConnection)+4846875 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)+194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33 System.Data.SqlClient.SqlDataReader.get_MetaData() +83 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data .SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String 方法, DbAsyncResult 结果) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String 方法) +32 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为, String 方法) +141
System.Data.SqlClient.SqlCommand。 ExecuteDbDataReader(CommandBehavior 行为)+12
System.Data.Common.DbCommand.ExecuteReader(CommandBehavior 行为)+10
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior 行为)+387

[EntityCommandExecutionException:执行命令定义时发生错误。有关详细信息,请参阅内部异常。]
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) +423
System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute(ObjectContext context, ObjectParameterCollection parameterValues) +743
System.Data。 Objects.ObjectQuery 1.GetResults(Nullable1 forMergeOption) +157
System.Data.Objects.ObjectQuery`1.GetIListSourceListInternal() +13 System.Data.Objects.ObjectQuery.System.ComponentModel.IListSource.GetList() +7 System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments, Creator qbConstructor)+1168 System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments 参数)+102
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments 参数,DataSourceViewSelectCallback 回调) +19 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73 System. Web.UI.WebControls.GridView.DataBind() +4 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +72 System.Web.UI.Control .EnsureChildControls() +87 System.Web.UI.Control.PreRenderRecursiveInternal() +44 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI .Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control。PreRenderRecursiveInternal() +171 System.Web.UI.Page.ProcessRequestMain(布尔型 includeStagesBeforeAsyncPoint,布尔型 includeStagesAfterAsyncPoint)+842


这个应用程序以前是在 SQL Server 2000 系统上构建的,然后它也可以正常工作。但是,测试数据库升级到 2005,而生产数据库仍然使用 2000。我希望这不会造成任何问题,但我的假设是否正确?

0 投票
2 回答
288 浏览

c# - 切换连接字符串

我创建了一个类库,其中包含其他类必须连接到的三个数据库的三个实体模型。然后这个类库被三个不同的 Web 服务和一个网站使用。这些都安装在他们自己的服务器上,因此没有简单的方法让他们共享相同的连接数据。

在我的 web.config 文件中,我有这一行:

这将从单独的 XML 文件加载连接字符串。它工作正常,但这也意味着我现在有这个 Dependencies.ConnectionStrings.Config 文件的 5 个不同副本。我宁愿在开发过程中使用单个文件。

但是,我的解决方案还包含四个设置项目,在这些设置中,配置文件必须彼此相邻。

那么如何告诉 VS 在多个项目之间共享一个配置文件而不修改 web.config 呢?


为了让它稍微复杂一点,类库使用 app.config 来存储连接字符串。而且我不能告诉 app.config 将连接字符串链接到单独的配置文件,显然......另一个复杂的问题是连接字符串需要在安装后由系统管理员修改。那是因为它必须寻找与开发数据库不同的数据库。(实际上,在开发过程中,我使用了 3 个数据库来拆分实体逻辑。测试和生产环境将只使用一个数据库。)
我目前的解决方案很简单。我已将 Dependencies.ConnectionStrings.Config 文件添加到我的解决方案中的单独文件夹中,并定期将其拖放到其他项目中以更新它们。虽然这可行,但它很容易出错......

0 投票
3 回答
7541 浏览

visual-studio - 有没有更好的方法来刷新实体模型(*.edmx 文件)

我需要在我的解决方案中刷新一堆 EDMX 文件。我们将表格分成几组,每个模型代表一个组件或流程。但是,有一些重叠的表,这意味着有时我需要刷新/更新多个实体模型。

在 VS 2008 中刷新一组不同的实体模型既慢又危险。如果我错过了一个过时的模型,我的应用程序将无法运行

我需要验证我的解决方案中的所有模型是否与我的开发数据库都是最新的。

最终解决方案:我该如何编写脚本?Visual Studio 是否有用于刷新 EDMX 文件的 API?我每次都做同样的事情。我不能这样编程吗?

好的解决方案:我可以在 Visual Studio 中设置一些东西,以便在实体模型与数据库不匹配时通知我吗?针对数据库测试模型的推荐方法是什么?

提前致谢。

0 投票
2 回答
613 浏览

c# - 断开数据集

DataContext/Entity Model 总是从数据库中读取数据。DataContext/Entity Model 有什么方法可以从 DataSet 中读取数据。

谢谢

0 投票
1 回答
3074 浏览

c# - LINQ 实体数据模型生成的代码错误 - 类型“DBContexts.Category”已包含“ID”的定义

我的数据库中有两个表 - 类别和部门,它们都包含相同的列 - ID、名称和代码。

我可以使用 Visual Studio 2008 设计器创建一个新的实体模型并添加部门,它工作正常 - 我可以使用 LINQ 查询数据库,一切都很好。

当我更新模型并添加类别表时,生成的代码在我尝试编译时会引发以下错误。

我想这与 Department 和 Category 具有相同的列名这一事实有关 - 但 Code 列并没有出现问题。

有什么想法可以解决这个问题吗?我真的不能乱搞生成的代码,因为如果我更新模型,任何更改都会被删除。

干杯

0 投票
5 回答
28100 浏览

entity-framework - 将表格重新添加到实体模型(edmx)时不显示

我有一个有 5 个表的数据库。一开始,我已经添加了这些表,但后来由于一些关系编译错误决定删除一些。

现在,当我想将它们添加回来时,我正在打开 edmx 文件 -> 从数据库更新模型...我在添加选项卡下看不到这些表,而只是在“刷新”选项卡下。

我怎样才能将它们添加回来?

0 投票
2 回答
6391 浏览

entity-framework - 实体模型问题:无法为一个特定表创建模型

创建实体模型时出现以下错误。

正在创建所有表,但未创建 BC_States 表。我不明白为什么。

0 投票
2 回答
16814 浏览

entity-framework - 更改数据库结构后如何正确更新实体模型?

我对表结构进行了一些更改,尤其是我的 SQL Server 数据库中表之间的关系。现在我想根据这个新的数据库结构更新我的实体模型。

右键单击 edmx 文件,我找到“从数据库更新模型”选项。但是当我这样做时,我得到了 50% 的更新:新列出现在实体类中,但我对模型中仍然存在的许多导航属性感到困惑,尽管相应的外键关系不再存在数据库。(编辑:虽然数据库中的列已被删除,但模型类中的成员也不会被删除。)

难道我做错了什么?或者是否有其他选项来更新模型,包括删除导航属性?还是我必须在模型文件中手动删除这些导航属性?

我正在使用实体框架版本 1(VS 2008 SP1)。

提前感谢您的帮助!

0 投票
3 回答
28787 浏览

entity-framework - vs2010中找不到ADO.NET实体模型浏览器窗口

我想从数据库更新我的 ADO.NET 实体框架模型,但我找不到实体模型浏览器窗口。这里有一个如何更新我的模型的示例但我找不到如何打开模型浏览器。有人可以告诉我如何使用 Visual Studio 2010 打开它吗?

我尝试通过视图菜单找到它,但右键单击 .edmx 文件时没有得到任何有效选项。

0 投票
1 回答
2677 浏览

mysql - Visual Studio 2010 从数据库生成模型在尝试使用 MySQL ADO.NET 驱动程序连接到数据库时给出错误消息,如何修复?

我正在尝试使用来自 MySQL 的官方 Connector/Net 6.4.3 ADO.NET 驱动程序从我的 MySQL 数据库生成我的 ADO.NET 实体模型。但是,在我输入我的 DB-info 并单击下一步(测试连接报告连接成功)后,我从 Visual Studio 收到以下错误消息:

连接数据库时出错。数据库可能不可用。发生“System.Data.ProviderIncompatibleException”类型的异常。错误消息是:“提供程序未返回 ProviderManifestToken 字符串”。

捕获的内部异常属于“System.FormatException”类型,并带有以下错误消息:“输入字符串的格式不正确。”。

有人知道怎么修这个东西吗?