2017-07-31 8 views
0

データベース内の既存のテーブルからデータにアクセスする際に、「CREATE TABLE権限がデータベース 'DTP'で拒否されました。私はEF6を使用しています。私が従った手順は、 です。1)プロジェクト内のEntityフレームワークへの参照を追加しました。 web.configファイル内 2))EF6を使用して既存のテーブルからデータを取得中にエラーが発生しました

<add name="OrderSummaryDatabaseContext" connectionString="data source=XYZ--D1;initial catalog=DTP_Table;user id=xyz;password=xyz;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> 

3のように接続文字列を追加

public class OrderSummaryDatabaseContext :DbContext 
    { 
     public virtual DbSet<Document> Documents { get; set; } 

    } 

4)

public class Document 
{ 
public int id { get; set; } 

public int clientId { get; set; } 

public int? reference { get; set; } 

public string format { get; set; } 

public string imagePath { get; set; } 

public DateTime dateReceived { get; set; } 

public DateTime? dateReported { get; set; } 

public int? addedByUserId { get; set; } 

public short? active { get; set; } 

public DateTime? lastChangedDate { get; set; } 
} 

5以下のように文書のクラスを定義した通り、データコンテキストクラスを定義)私のデータ層では、詳細を取得する

public void GetImageData() 
    { 
     int orderId = 1426; 
     try 
     { 
      using (var db = new OrderSummaryDatabaseContext()) 
      { 
       var result = db.Documents.Where(x => x.id == orderId).ToList(); 
      } 
     } 
     catch (Exception ex) 
     { 

     } 
    } 

しかし、データベース 'DTP'でCREATE TABLE権限が拒否されているというエラーが表示されています。これで私を助けてください。私はEDMXファイルを使用したくありません。私はあなたがCodeFirstを使用して計画していない場合はその

+0

このエラーは、問題が発生した場合、何が必要なのですか? – DavidG

+0

データにアクセスしようとしているテーブルが既に存在します。私はEF6を初めて使っているので、そのために何が必要なのかを助ける必要があります。テーブルが既に存在するので、単にそのテーブルからデータを選択したいだけです。なぜ私は単に既存のテーブルからデータを選択しているテーブルを作成するためのエラーを取得しています。ありがとう、それを理解するのを助けてください。 –

+0

FYI、これは疑問の一部ではありませんが、C#ではCamelCaseではなくクラスプロパティにPascalCaseを使用するのが標準です。 – GBreen12

答えて

0

せずにそれをしたい、あなたはコンテキストのコンストラクタに以下を追加する必要があります

public OrderSummaryDatabaseContext() 
{ 
    Database.SetInitializer<OrderSummaryDatabaseContext>(null); 
} 

これはあなたのためのテーブルを作成しようとしているからEntityFrameworkを停止します。私はここで何が起きているのか100%確信していませんが、EntityFrameworkはあなたのコードに基づいてテーブルを作成しようとしています。

+0

コンストラクタにコード行を追加していただきありがとうございます。これを回答としてマークする –

関連する問題