powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Entity Framework. Передать значения внешних ключей в базу
4 сообщений из 4, страница 1 из 1
Entity Framework. Передать значения внешних ключей в базу
    #38368381
talja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток!
Начала разбираться с Entity Framework(версия 4.1 CTP5) на примере небольшой программки-регистратор телефонных звонков. Использую подход CodeFirst. Описала несколько классов, которым в базе соответствуют сущности, связанные внешними ключами:
public class Department
{
[Key]
public Guid DepId { get; set; }
public int DepN{get;set;}
public string DepName{get;set;}
public int Arch{get;set;}
}

public class State
{
public Guid StateId { get; set; }
public string StName { get; set; }
public int Arch{ get; set; }
}

public class UserCallReg
{
public Guid UserCallRegId { get; set; }

[Required(ErrorMessage = "Укажите ФИО.")]
public string FIO { get; set; }

[Required(ErrorMessage = "Укажите отдел.")]
public Department SubjectDep { get; set; }

[Required(ErrorMessage = "Укажите должность.")]
public State SubjectState { get; set; }

}
UserCallReg- это класс, который содержит сведения о пользователе, зарегистрировавшем звонок.

Описала класс
public class PhoneCallRegDb:DbContext
{
public DbSet<Department> Departments { get; set; }
public DbSet<State> States { get; set; }
public DbSet<UserCallReg> UserCallReg { get; set; }
}
Создаю экземпляры объектов и пытаюсь передать сведения в базу:

DataRowView dgv;
Department dep = new Department();
dgv = (DataRowView)cb1.SelectedValue;
dep.DepId = (Guid)dgv.Row.ItemArray[0];

State st = new State();
dgv = (DataRowView)tb2.SelectedValue;
st.StateId = (Guid)dgv.Row.ItemArray[0];

UserCallReg ucr = new UserCallReg();
ucr.UserCallRegId = System.Guid.NewGuid();
ucr.FIO = tb3.Text;
ucr.SubjectDep = dep;
ucr.SubjectState = st;

using (var db = new PhoneCallRegDb())
{
db.PhoneCalls.Add(pc);
db.SaveChanges();-----> и вот здесь возникает ОШИБКА!
}

Думаю, проблема именно во внешних ключах, так как сведения в таблицы без внешних ключей передаются без проблем.

Чего я не доглядела, подскажите, пожалуйста.
...
Рейтинг: 0 / 0
Entity Framework. Передать значения внешних ключей в базу
    #38368382
talja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка следующего содержания: "При обновлении записей произошла ошибка. Подробные сведения см. во внутреннем исключени"
...
Рейтинг: 0 / 0
Entity Framework. Передать значения внешних ключей в базу
    #38377240
talja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобралась. Вот то, что мне очень помогло
http://habrahabr.ru/company/microsoft/blog/134160/
Может на будущее кому пригодится
...
Рейтинг: 0 / 0
Entity Framework. Передать значения внешних ключей в базу
    #38379304
Фотография lbppb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
taljaРазобралась. Вот то, что мне очень помогло
http://habrahabr.ru/company/microsoft/blog/134160/
Может на будущее кому пригодится

MVC устарел. MVVM последний писк моды.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Entity Framework. Передать значения внешних ключей в базу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]