40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
|
||
|
|
||
|
namespace System.Data.Entity.Migrations
|
||
|
{
|
||
|
using System.Linq;
|
||
|
using Xunit;
|
||
|
|
||
|
[Variant(DatabaseProvider.SqlClient, ProgrammingLanguage.CSharp)]
|
||
|
[Variant(DatabaseProvider.SqlServerCe, ProgrammingLanguage.CSharp)]
|
||
|
[Variant(DatabaseProvider.SqlClient, ProgrammingLanguage.VB)]
|
||
|
public class AddPrimaryKeyScenarios : DbTestCase
|
||
|
{
|
||
|
private class AddPrimaryKeyMigration : DbMigration
|
||
|
{
|
||
|
public override void Up()
|
||
|
{
|
||
|
CreateTable(
|
||
|
"T", t => new
|
||
|
{
|
||
|
Id = t.Int(nullable: false)
|
||
|
});
|
||
|
|
||
|
AddPrimaryKey("T", "Id", name: "my_pk", clustered: false);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[MigrationsTheory]
|
||
|
public void Can_add_non_clustered_primary_key()
|
||
|
{
|
||
|
ResetDatabase();
|
||
|
|
||
|
var migrator = CreateMigrator<ShopContext_v1>(new AddPrimaryKeyMigration());
|
||
|
|
||
|
migrator.Update();
|
||
|
|
||
|
Assert.NotNull(Info.TableConstraints.SingleOrDefault(c => c.Name == "my_pk"));
|
||
|
}
|
||
|
}
|
||
|
}
|