LINQ to SQL сопоставляет уникальный идентификатор SQL Server с GuidC#

Место общения программистов C#
Anonymous
LINQ to SQL сопоставляет уникальный идентификатор SQL Server с Guid

Сообщение Anonymous »

Я пытаюсь получить доступ к уникальному идентификатору SQL Server с помощью сопоставления Linq-SQL:
Таблица –

Код: Выделить всё

CREATE TABLE [dbo].[Members](

[guid] [uniqueidentifier] NOT NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [dbo].[Members] ADD  CONSTRAINT [DF__Members__Guid__398D8EEE]  DEFAULT (newid()) FOR [guid]
GO
Класс C# –

Код: Выделить всё

using System.Data.Linq.Mapping;

[Table(Name = "Members")]
public class MembersClass
{
[column]
public Guid guid { get; set; }
}
Этому коду не удалось выполнить приведение:

System.InvalidCastException: указанное приведение недопустимо

Вариация темы (другая итерация кода, показанного ниже, включая приведение возврата SQL в виде CHAR или VARCHAR)
Модификация строки C#
/>

Код: Выделить всё

  [Column(Name = "guid", DbType ="uniqueidentifier", IsDbGenerated = true, AutoSync = AutoSync.OnInsert)]

public Guid? guid { get { return guid; } set { guid = Guid.TryParse(value.ToString(), out Guid g)?(Guid)g :(Guid?) null;  } }
Можно ли преобразовать Guid?
Следующий шаг — создать искусственный Guid в varchar в базе данных

Подробнее здесь: https://stackoverflow.com/questions/798 ... -to-a-guid

Вернуться в «C#»