Вам не нужно ничего запрашивать, чтобы сделать вставку. При использовании структуры сущностей для вставки LINQ не играет роли. Используйте метод Create ... factory объекта, который вы хотите создать. Затем добавьте его в контекст сущности и вызовите метод SaveChanges ().
Например (vb.net), если вы работаете с таблицей / сущностью с именем Orders и контекстом сущности с именем OrderEntities:
Using context As New OrderEntities
Dim order As Order = Order.CreateOrder(OrderNumber, Description, etc)
context.AddToOrders(order)
context.SaveChanges()
End Using
Это будет преобразовано в оператор INSERT для базы данных.
Это очень упрощенный пример. Вам может понадобиться добавить ассоциации, выполнить проверку и т. Д. Однако это показывает, что вы можете вставить с использованием инфраструктуры объектов, не выполняя сначала запрос LINQ to Entities.
EDIT:
Эта таблица на одной стороне или на многих сторонах этих отношений? Если это с одной стороны (таблица первичного ключа), вам не нужно ничего делать, потому что ссылка на внешний ключ находится в другой таблице. Если это сторона многих (таблица внешнего ключа), то перед вызовом метода AddTo () вам необходимо установить связь внешнего ключа.
Если внешний ключ является сущностью, загруженной в контекст сущности, вы можете установить его напрямую: order.Customer = customer
Однако, если он не загружен из базы данных, вы можете установить EntityKey: order.CustomerReference.EntityKey = New EntityKey("OrderEntities.Customer", "CustomerID", 5)