Я использую Entity Framework 6, сначала код.
У меня есть столбец <string> Id
, созданный платформой (Azure Mobile Server SDK), к которой у меня нет доступа.
public abstract class EntityData
{
[Key]
[TableColumn(TableColumnType.Id)]
public string Id { get; set; }
...
}
Если я не выполняю никаких действий, такой столбец отображается как nvarchar(MAX)
в SQL Server.
Мне удалось превратить его в char(36)
с помощью этого фрагмента в Fluent API:
PropertyConventionConfiguration pkConf = modelBuilder.Properties<string>().Where(p => p.Name == "Id");
pkConf.Configure(p => p.IsUnicode(false));
pkConf.Configure(p => p.HasMaxLength(36));
pkConf.Configure(p => p.IsFixedLength());
Я хочу установить его как uniqueidentifier
.
Как я могу сделать это с помощью похожего фрагмента кода Fluent API?
Большое спасибо!