2016-08-29 12 views
0

Entity Frameworkを使用して.NETでSQL Serverデータベースを作成したいが、その方法を見つけることができない。.NETとEntity Frameworkデータベースの作成

私が持っている今のよう:

  • すべてのデフォルトの名前と簡単なプロジェクト(WCFサービス)
  • データベースモデル

    Database model picture

  • べきSQLファイルデータベースを作成します。私はコード

モデル(モデルからデータベースを生成)

  • サービスファイル(.svc)を使用して生成された:

    public class Service1 : IService1 
    { 
        public Entity1 GetData(int id) 
        { 
         using (Model1Container ctx = new Model1Container()) { 
          try { 
           Entity1 entity = ctx.Entity1Set.FirstOrDefault(e => e.Id == id); 
           return entity; 
          } 
          catch (Exception e) { 
           Console.WriteLine("CAPTAIN, WE GOT AN ERROR: " + e); 
           return null; 
          } 
         } 
        } 
    
        public String PostData(string value) 
        { 
         using (Model1Container ctx = new Model1Container()){ 
          Entity1 newEntity = new Entity1(); 
          newEntity.Property1 = value; 
          ctx.Entity1Set.Add(newEntity); 
    
          try { 
           ctx.SaveChanges(); 
          } catch (Exception e) { 
           return ("CAPTAIN, WE GOT AN ERROR: " + e); 
          } 
         } 
         return "0"; 
        } 
    
        public CompositeType GetDataUsingDataContract(CompositeType composite) 
        { 
         if (composite == null) 
         { 
          throw new ArgumentNullException("composite"); 
         } 
    
         if (composite.BoolValue) 
         { 
          composite.StringValue += "Suffix"; 
         } 
         return composite; 
        } 
    } 
    

    しかし、問題はそれがデータベースのISNと思われているです作成されていません。私は、SQLファイルを実行する方法を見つけることができない、サーバーエクスプローラは何も示していない、と私は、次のエラーを得た私のデータベース内の要求をしようとすると:

    System.Data.SqlClient.SqlException: Invalid object name 'dbo.Entity1Set'.

    は、私は重要な何かを忘れてしまったのか?

  • 答えて

    0

    は、SQL ServerのCEを使用している場合は、データベースファイルが存在しない場合はどうするか、あなたの文脈から判断して、ファイルを作成することができます:あなたはSQLiteにも使用している場合は、コンテキストがある

    Database.SetInitializer(new CreateDatabaseIfNotExists<YourContext>()); 
    

    をデータベースを作成するには適切な場所ですが、その機能はEntity Frameworkで完全にサポートされておらず、手動で行う必要があります。 See here.

    あなたが手順SQL Serverや他の「本当のデシベル」を扱っている場合は、this

    に似ています
    関連する問題