Вставка GUID в поле «uniqueidentifier» в SQL Server приводит к пустому guid.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Вставка GUID в поле «uniqueidentifier» в SQL Server приводит к пустому guid.

Сообщение Anonymous »

У меня есть таблица, содержащая уникальный идентификатор, который по умолчанию имеет значение 00000000-0000-0000-0000-000000000000 (Guid.Empty) через значение по умолчанию в SQL Server, когда значение не указано.
С помощью PetaPoco я создаю GUID и использую db.Insert() для вставьте мой объект.
Мой класс, представляющий эту таблицу, выглядит следующим образом:
[PetaPoco.TableName("my_table")]
[PetaPoco.PrimaryKey("my_id")]
public class FaveColors
{
[PetaPoco.Column(Name = "my_id")]
public int myId { get; set; }

[PetaPoco.Ignore]
public string myFavouriteColor { get; set; }

[PetaPoco.Column(Name = "my_guid")]
public Guid myGuid { get; set; }
}

Единственный другой совет, который я могу найти, касается исключительно того, когда UniqueIdentifier является PK, и в этом случае вы отключите автоматическое приращение... Однако в моем В данном случае это не ПК.
Что я могу сделать, чтобы на самом деле отправить правильный GUID через PetaPoco в базу данных?
РЕДАКТИРОВАТЬ: Некоторые из вы просили код, показывающий, как я создаю объект, который вставляю в БД, вот пример (хотя и не идеальный, но он отражает то, что я делаю):
using System.DirectoryServices;
using PetaPoco;

public struct FaveColorInfo
{
public int myId;
public string myFavouriteColor;
public Guid myGuid;
}

private static Guid GetGuidForId(int id)
{
var ldapRoot = new DirectoryEntry("LDAP://DC=internal,DC=domain");
var adSearch = new DirectorySearcher(ldapRoot);
adSearch.Filter = "(&(objectClass=user)(SAMAccountName=" + id + "))"; //Not really how we do sAMAccountNames but works as example
adSearch.PropertiesToLoad.Add("ObjectGUID");
var result = adSearch.FindOne();

return new Guid((byte[])result.Properties["objectguid"][0]); //e.g: 8c700816-60a4-4fba-bf4f-d8deaddba160
}

//db is a PetaPoco Database object (PetaPoco.Database)
private static void InsertFaveColor(int id, string faveColor, Database db)
{
var uGuid = userService.GetGuidForId(id);

var faveColorInfo = new FaveColorInfo
{
myId = id,
myFavouriteColor = faveColor,
myGuid = uGuid
}

db.Insert(faveColorInfo);
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... n-empty-gu
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Вставка GUID в поле «uniqueidentifier» в SQL Server приводит к пустому guid [закрыто]
    Anonymous » » в форуме C#
    0 Ответы
    77 Просмотры
    Последнее сообщение Anonymous
  • При сравнении значения uniqueidentifier в предложенииwhere в инструкции SQL возникают проблемы с выполнением Dapper
    Anonymous » » в форуме C#
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Отправка загруженного файла из JS в Python CGI всегда приводит к пустому словарю.
    Гость » » в форуме Python
    0 Ответы
    75 Просмотры
    Последнее сообщение Гость
  • Отправка загруженного файла из JS в Python CGI всегда приводит к пустому словарю.
    Гость » » в форуме Javascript
    0 Ответы
    58 Просмотры
    Последнее сообщение Гость
  • Рекурсия Python приводит к пустому списку
    Гость » » в форуме Python
    0 Ответы
    46 Просмотры
    Последнее сообщение Гость

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