2016-10-27 18 views
0

私はSQLiteのを使用して、小さなアプリを持っているとEF7Entity Frameworkの7のSQLiteテーブル作成スクリプト

class User { 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

<..> 

protected override void OnModelCreating(ModelBuilder mB) { 
    mB.Entity<User>().HasAlternateKey(c => c.Name); 
} 

私はSQLiteのデータベースを取得し、テーブルのために作成するコードを確認してください。

CREATE TABLE "User" ("Id" INTEGER NOT NULL CONSTRAINT "PK_User" 
    PRIMARY KEY AUTOINCREMENT, "Name" TEXT, CONSTRAINT "AK_User_Name" UNIQUE ("Name")) 

どのようにすることができますEF7を使ってこのコードを入手しますか?

答えて

0

#2943を参照してください。それまでのコード:

using (var db = new MyContext()) 
{ 
    var services = ((IInfrastructure<IServiceProvider)db).Instance; 
    var model = services.GetService<IModel>(); 
    var differ = services.GetService<IMigrationsModelDiffer>(); 
    var generator = services.GetService<IMigrationsSqlGenerator>(); 
    var sqlHelper = services.GetService<ISqlGenerationHelper>(); 

    var operations = differ.GetDifferences(null, model); 
    var commands = generator.Generate(operations, model); 

    var builder = new StringBuilder(); 
    foreach (var command in commands) 
    { 
     builder 
      .Append(command.CommandText) 
      .AppendLine(sqlHelper.BatchTerminator); 
    } 

    // Here is the SQL. 
    var sql = builder.ToString(); 
} 
関連する問題