edmx ADO.NET generation from tables, but tables not showing
编辑:我也在使用 MS SQL Server 2008 R2。
好吧,在远程服务器上,我在 edmx 的向导中显示了一些表,但在我的本地数据库中,我创建了一个所有者为 yyyyyy 的数据库。作为那个所有者,我在执行查询中运行了一些相当简单的 DDL 来创建一个像这样的简单表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | USE [Override] GO /****** Object: Table [dbo].[Errors] Script Date: 05/18/2012 16:08:19 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Errors]') AND type in (N'U')) DROP TABLE [dbo].[Errors] GO USE [Override] GO /****** Object: Table [dbo].[Errors] Script Date: 05/18/2012 16:08:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Errors]( [Id] [int] IDENTITY(1,1) NOT NULL, [Code] [int] NOT NULL, [Description] [nvarchar](max) NULL, CONSTRAINT [PK_Errors] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO |
在此之后,我右键单击我的 edmx 文件并说从数据库更新并为其提供新连接并使用 yyyyy 用户。好吧,有一个表格复选框,但它下面没有任何内容。就像没有桌子一样。
由于某种原因,我的远程数据库"工作一半"。我在遥控器中创建的任何表都会显示以供生成,但现有表都没有。
注意:然后我尝试使用我的"sa"用户,因为我认为他将拥有至高无上的权力,并且肯定会看到桌子,但即使这样也无济于事。关于为什么这些东西不起作用的任何想法?
在我的头撞到墙上后终于找到了答案。您必须创建一个全新的模型,而不是使用旧模型。如果您更换连接或其他东西,就会出现问题。新模型像这样与您的服务器背道而驰
1 | <Server>/<instance>.<Databasename>.dbo |
我没想到,因为这是我第一次做 ADO.NET