Linq вставляют без первичного ключа

Func<T1, T2, T3..., T(n), TResult> - это тип, который представляет метод, который принимает (n) количество параметров с указанными типами (может быть 0) и возвращает объект типа TResult.

Согласно Func<double, double>, это указывает, что это должен быть метод, который принимает один double в качестве параметра и возвращает double.

В этом примере используется лямбда-функция (которая также может быть представлена ​​Func).

tau => {return MyFunction(r, tau, appCfg, Ta, Da) * ProbDensity(tau)},

Единственный параметр, который вы передаете в лямбда-функцию - это tau, который можно увидеть с левой стороны стрелки. Другие переменные, такие как r, tau, appCfg ... являются захваченными переменными.

Еще один пример универсальных делегатов: (obj, e) => {Console.WriteLine(obj)} передается две переменные с именами obj и e. В отличие от вашего примера, он ничего не возвращает. Это представляется как Action<T1, T2>, который представляет метод, который ничего не возвращает.

7
задан mat 9 December 2008 в 21:53
поделиться

3 ответа

LINQ к SQL не предназначен для этой задачи, не используйте его. Просто деформируйте вставку в хранимую процедуру и добавьте процедуру к Вашей модели данных. Если Вы не можете сделать этого, запишите нормальную функцию с небольшим количеством встроенного SQL.

11
ответ дан 6 December 2019 в 07:08
поделиться

Откройте свой файл DBML в разработчике и дайте отображение ключа, имеет ли Ваша база данных один или нет. Это решит Вашу проблему. Просто остерегайтесь, однако, это Вы не можете рассчитывать на столбец, используемый для идентификационных данных или чего-либо еще, если нет подлинного ключа в базе данных.

9
ответ дан 6 December 2019 в 07:08
поделиться

Вы могли бы использовать DataContext. Метод ExecuteCommand для выполнения собственного оператора вставки.

Или, Вы могли бы добавить первичный ключ к столбцу, это позволит объектам быть прослеженными для, вставляет/обновляет/удаляет datacontext. Это будет работать, даже если бы столбец не будет действительно вынужденным первичным ключом в базе данных (как linq знал бы?). Если Вы только делаете, вставляет, и никогда не снова используйте значение первичного ключа в том же datacontext, Вы будете в порядке.

2
ответ дан 6 December 2019 в 07:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: