Я пытаюсь использовать структуру сущностей для связи с моей существующей БД. Таким образом, это БД в первую очередь. Использование SQL-сервера и С#. Проблема в том, что я хотел бы использовать последовательный GUID, сгенерированный базой данных.
Каждый раз, когда я запускаю код, мой контроллер вставляет GUID, назначенный lutRoughagePhysicalSiloId, в БД (в большинстве случаев lutRoughagePhysicalSiloId — это просто пустой GUID (000..), поскольку я его не заполняю). Насколько я вижу, этого не должно происходить, поскольку я использую [DatabaseGenerated(DatabaseGeneratedOption.Identity)].
Любые идеи?
SQL-код
CREATE TABLE [dbo].[lutRoughagePhysicalSiloType]
(
[RoughagePhysicalSiloTypeId] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY UNIQUE DEFAULT NEWSEQUENTIALID(),
[PhysicalSiloTypeName] NVARCHAR(50) NOT NULL UNIQUE
)
(Обратите внимание на значение по умолчанию newsequentialId(), которое по умолчанию генерируется сервером sql)
Автоматически созданное представление модели (сначала БД):
namespace guiIlvoDairyCowBarn.Models
{
using System;
using System.Collections.Generic;
public partial class lutConcentratePhysicalSiloType
{
public lutConcentratePhysicalSiloType()
{
this.lutConcentratePhysicalSiloes = new HashSet<lutConcentratePhysicalSilo>();
}
public System.Guid ConcentratePhysicalSiloTypeId { get; set; }
public string PhysicalSiloTypeName { get; set; }
public virtual ICollection<lutConcentratePhysicalSilo> lutConcentratePhysicalSiloes { get; set; }
}
}
приятель класс
namespace guiIlvoDairyCowBarn.Models
{
[MetadataType(typeof(lutRoughagePhysicalSiloMD))]
public partial class lutRoughagePhysicalSiloType
{
public class lutRoughagePhysicalSiloMD
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public System.Guid RoughagePhysicalSiloTypeId { get; set; }
[Required, DisplayName("Physical silo type")]
public string PhysicalSiloTypeName { get; set; }
public virtual ICollection<lutRoughagePhysicalSilo> lutRoughagePhysicalSiloes { get; set; }
}
}
}