powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF: Как добавить запись в DataGridView через другую форму?
4 сообщений из 4, страница 1 из 1
EF: Как добавить запись в DataGridView через другую форму?
    #36368643
Ora Starter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуру, только начал смотреть EF, подскажите, как сделать сабж?
У меня две формы, одна отображает в реестре записи, другая их туда добавляет. У них общий context. Та которая добавляет, открывается модально, работает, в базу все пишется. Но в гриде новой записи нет, пока я не пошлю новый запрос в базу через QueryObject метод Execute. Может я не так связку сделал?
Просветите. Спасибо.
...
Рейтинг: 0 / 0
EF: Как добавить запись в DataGridView через другую форму?
    #36370742
Ora Starter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не ужели после добавления записи в базу, Вы рефрешите весь реестр?
Я вот подумал, что могу непосредственно после добавления вызвать рефреш новой записи(если там на сервере триггреа и деф значения) и добавить в коллекцию Rows грида руками. Нормальная практика? Я чего то думаю что в EF должен быть механизм...
Спасибо
...
Рейтинг: 0 / 0
EF: Как добавить запись в DataGridView через другую форму?
    #36370929
Ora Starter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуру еще вопрос может подскажете? :)
Есть такая структура:
Document(id, name, DocumentTypeId, FileId)
DocoumentType(id, name)
File(id, name, data)
Связь между Doc и DocType 1 ко многим, между Doc и File 1 ко 1. При попытке удалить запись из Doc получаю багу:
Код: plaintext
1.
Entities in 'eDocEntities.Document' participate in the 'FDocumentDocumentTypeId' relationship. 0 related 'DocumentType' were found. 1 'DocumentType' is expected.
Все это в EF. Код такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
		private void DeleteEDocument() {
			string fileName = this.grdData.CurrentRow.Cells["FileName"].Value.ToString();
			if (MessageBox.Show(string .Format("Delete \"{0}\"?", fileName), "eDoc",
				MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
				object documentIdValue = this.grdData.CurrentRow.Cells["DocumentId"].Value;
				Guid documentId = new Guid(documentIdValue.ToString());
				Document documentToDelete = new Document();
				documentToDelete.Id = documentId;
				documentToDelete.EntityKey = new EntityKey("eDocEntities.Document", "Id", documentId);
				context.Attach(documentToDelete);
				context.DeleteObject(documentToDelete);
				context.SaveChanges();
			}
		}
Еще заметил что context.Attach(documentToDelete); шлет запрос на выборку всех записей. Это так и должно быть?
Спасибо
...
Рейтинг: 0 / 0
EF: Как добавить запись в DataGridView через другую форму?
    #36371846
Ora Starter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем пока принудительно не загрузил данные в поле DocumentType обьекта Document через метод Load не хотело удалять. Это прикол такой в EF - чтобы удалить обьект надо загружать все поля, ему не достаточно ПК?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF: Как добавить запись в DataGridView через другую форму?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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