Опитвам се да използвам рамката на обекта, за да комуникирам с моята съществуваща база данни. Това е първо DB. Използване на sql сървър и c#. Проблемът е, че бих искал да използвам последователен GUID, генериран от базата данни.
Всеки път, когато стартирам кода, моят контролер поставя GUID, присвоен на lutRoughagePhysicalSiloId, в DB (през повечето време 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 сървъра)
Автоматично създаден изглед на модел (първо DB):
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; }
}
}
}