powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / добавление дочерней записи при использовании DataServiceContext
3 сообщений из 3, страница 1 из 1
добавление дочерней записи при использовании DataServiceContext
    #36627637
vinvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую сервис данных и класс DataServiceContext соответственно и EF

Есть объект - фирма (firm), у фирмы есть телефоны (firm_tel).
Пытаюсь добавить телефон к фирме - при сохранении вылетает ошибка!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
// создаю объект - телефон фирмы            
firm_tel f1= firm_tel.Createfirm_tel(0, "1111", false, true);

// делаю в firm_tel ссылку на родительскую запись
f1.firm = (firm_localBindingSource.Current as firm);

// добавляю firm_tel в контекст сервиса данных
ds.AddTofirm_tel(f1);

// добавляю firm_tel
(firm_localBindingSource.Current as firm).firm_tel.Add(f1);

// сохраняю данные - вылетает ошибка!!!
ds.SaveChanges()

Смотрю через fiddler - что идет от клиента к сервису

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <category scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" term="skladModel.firm_tel" />
  <title />
  <updated>2010-05-14T07:37:18.203125Z</updated>
  <author>
    <name />
  </author>
  <id />
  <content type="application/xml">
    <m:properties>
      <d:contact_name m:null="true" />
      <d:id m:type="Edm.Int32">0</d:id>
      <d:is_contact m:type="Edm.Boolean">false</d:is_contact>
      <d:is_fax m:type="Edm.Boolean">true</d:is_fax>
      <d:prim m:null="true" />
      <d:tel>1111</d:tel>
    </m:properties>
  </content>
</entry>

Информации о принадлежности к фирме не вижу (В базе данных - это поле id_firm) - поэтому и вылетает в ошибку!

Подскажите, плз, как сделать правильно?
...
Рейтинг: 0 / 0
добавление дочерней записи при использовании DataServiceContext
    #36630477
vinvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытался делать по другому:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
            firm_tel f1= firm_tel.Createfirm_tel(0, "1111", false, true);
            ds.AddTofirm_tel(f1);
            (firm_localBindingSource.Current as firm_local).firm_tel.Add(f1);
            try
            {
                ds.SaveChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                throw;
            }            

Все равно - ошибка при сохранении!

Я это пытаюсь делать на FW3.5 SP1 - может там какой косяк в DataServiceContext, и я зря мучаюсь?
...
Рейтинг: 0 / 0
добавление дочерней записи при использовании DataServiceContext
    #36630655
vinvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал то же самое в VS2010 - все работает, но там при создании модели я указал создавать свойства для внешних ключей, т.е. в объекте firm_tel - появилось свойство id_firm, которое я заполняю при создании объекта.
Все мои попытки создать такое же свойство в VS2008 успешно провалились :( - компилятор ругается на маппинг, хотя он корректен (в VS2010 он проходит без проблем).

Маппинг в VS210 и VS2008 сравнивал чуть ли не построчно.

Пока могу только сделать один вывод - реализация DataService в VS2008 (FW 3.5 SP1) - сырье, очень много ошибок и недоработок. Но, в принципе, что еще следовало ожидать - ведь это был первый блин, а он как известно...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / добавление дочерней записи при использовании DataServiceContext
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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