Здравствуйте, IT, Вы писали:
IT>К сожалению, такое сделать нельзя из-за ограничений C#. Сигнатура метода InsertWithIdentity уже включает обобщенные параметры:
IT>IT>public static object InsertWithIdentity<T>([NotNull] this IValueInsertable<T> source)
IT>public static object InsertWithIdentity<T>([NotNull] this Table<T> target, [NotNull] Expression<Func<T>> setter)
IT>public static object InsertWithIdentity<TSource,TTarget>(
IT>public static object InsertWithIdentity<TSource,TTarget>([NotNull] this ISelectInsertable<TSource,TTarget> source)
IT>
IT>Добавление ещё одного параметра заставит явно указывать их все, т.к. в C# нельзя указывать неполный список обобщённых параметров.
ладно с этим можно прожить, а как насчет такого метода InsertOrUpdate
а то уже устал писать такой код
int rows =
ctx.ProjectFinance
.Where(_ => _.ProjectId == projectId && _.PhaseName == phaseName)
.Set(_ => _.OriginalBudget, budgetOriginal)
.Set(_ => _.CurrentBudget, budgetCurrent)
.Update();
if (rows == 0)
ctx.ProjectFinance
.Insert(() => new ProjectFinance
{
ProjectId = projectId,
PhaseName = phaseName,
OriginalBudget = budgetOriginal,
CurrentBudget = budgetCurrent
});
... << RSDN@Home 1.2.0 alpha 4 rev. 1441>>