.NET 4.0 Ошибки платформы Объекта на Вставке?

Я не знаю, почему это, ошибка на SaveChanges (), я ищу в Google, некоторое тело говорят, что использование, EF, таблица базы данных такой имеет первичный ключ, у меня есть это, но все еще ошибка. Сообщение об ошибке является недостаточно четким, оно просто бросает Систему. Данные. UpdateException. Код:

public static void AddAccount(int _acc_id,string _name)
{
    dataEntities de = new dataEntities(GetEntityConn());
    account acc = new account
    {
        account_id = _acc_id,
        name =  _name
    };
    de.AddObject("account", acc);
    de.SaveChanges();
}
1
задан MPelletier 28 August 2010 в 01:44
поделиться

4 ответа

Решено: я нашел решение, см. Эту ветку: http://social.msdn.microsoft.com/Forums/en-US / sqlce / thread / 48984bd4-0921-4637-bd8f-8aa1ae9514ab Короче говоря, не используйте int в качестве типа данных, используйте тип uniqueidentifier. Эта проблема не возникает на SQL Server, она возникает только при использовании SQLCE.

2
ответ дан 2 September 2019 в 22:55
поделиться

Обновление: Я попытался создать такую ​​же таблицу на SQL Server 2008, сгенерировать из нее файл edmx и использовать тот же код для вставки, он работает! Так что я верю в EF 4.0 с SQLCE .... Я загружаю тестовый проект в форме окна, с базой данных SQLCE и с одним событием кнопки, вы можете загрузить его на

http://www.netfrd.com/testproject.zip

Код очень простой, но это действительно не работает.

0
ответ дан 2 September 2019 в 22:55
поделиться

Предполагаю, что EntitySetName не называется учетной записью, но это трудно сказать без дополнительной информации.

Я бы сделал что-то вроде:

public static void AddAccount(int _acc_id,string _name)
{
    dataEntities de = new dataEntities(GetEntityConn());
    account acc = new account
    {
        account_id = _acc_id,
        name =  _name
    };
    de.Accounts.Add(acc);
    de.SaveChanges();
}

Это избавит от строкового значения, поэтому это также должно помочь при рефакторинге

0
ответ дан 2 September 2019 в 22:55
поделиться

Мои экстрасенсорные способности говорят мне, что поле account_id имеет уникальное ограничение и что значение _acc_id уже есть в таблице.

Если мои могущественные экстрасенсорные способности ошибочны, то требуется дополнительная информация. 8)

0
ответ дан 2 September 2019 в 22:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: