0

編集: MS SQL サーバー 2008 R2 も使用しています。

リモート サーバーでは、edmx のウィザードに表示されるいくつかのテーブルがありましたが、ローカル データベースでは、所有者 yyyyyy でデータベースを作成しました。その所有者として、実行クエリでかなり単純な DDL を実行して、次のような単純なテーブルを作成しました。

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」ユーザーを使用してみました。彼には最高の力があり、確実にテーブルが表示されると思ったのですが、これでも役に立ちませんでした。なぜこのようなものが機能しないのかについてのアイデアはありますか?

4

1 に答える 1

0

壁に頭をぶつけた後、ようやく答えが見つかりました。古いモデルを使用する代わりに、新しいモデルを作成する必要があります。接続などを変更すると、何かが無駄になります。新しいモデルはそのようにあなたのサーバーに逆らいます

<Server>/<instance>.<Databasename>.dbo

ADO.NETの生成を行うのはこれが初めてなので、予期していませんでした。

于 2012-05-23T23:16:17.803 に答える