На сервере SQL я создаю UDF. Назовем его fnCompanyDetails. Он выбирает некоторую информацию о компании из нескольких совместных таблиц. Затем я перетаскиваю эту функцию в новый .dbml моего проекта VB. Я хочу использовать его с LINQ. Smth вот так:SubmitChanges с LINQ to SQL и пользовательскими функциями
Dim company = (From c In d.fnCompanyDetails(sap)
Select New With {
.Sap = c.txtSAP,
.CompanyName1 = c.txtCompanyName1, _
.CompanyName2 = c.txtCompanyName2, _
})
Результат этого запроса Отображается пользователем в форме. Если какое-то поле изменено, я хочу отправить изменения в мою базу данных, но возможно ли это, если я так прошу, из UDF? Thank y
Спасибо, Андерс! С этими объектами-объектами - вы имеете в виду, что этот объект должен повторять структуру таблицы базы данных, чтобы можно было загрузить изменения в таблицы? И в том случае, когда я хочу иметь всю свою логику базы данных (все UDF, SP, представления и т. Д.) На SQL-сервере (я имею в виду не строить их с LINQ в коде), не лучше ли работать с набором данных, чем идти в LINQ? – kzub
Объекты сущности создаются автоматически для вас, если вы перетащите таблицу на поверхность конструктора. Намерение с linq-to-sql состоит в том, чтобы разместить (почти) всю бизнес-логику в коде. Если вы используете UDF или SP, тогда могут быть другие варианты, которые лучше. –
В этом случае я не совсем понимаю всю концепцию LINQ :(если я должен выбрать всю таблицу, которая затем может быть отображена в сгенерированный класс, а затем обновлена и вставлена. Я попытался создать объект объекта «tblCompany» из результата, возвращаемого моим UDF, но я получил ошибку «Явное построение типа объекта« tblCompany »в запросе не допускается». Таким образом, этот подход, похоже, не работает :(Я думаю, что я должен лучше продолжить классический ADO.Net – kzub