LINQ к SQL представляет в виде строки к перечислениям

Если именно так вы однозначно определяете потенциальную запись для обновления (или вставляете, если она не найдена):

e.Hours == todatabase.Hours && e.SeasonId == todatabase.SeasonId && e.StationId == todatabase.StationId

Затем сначала попытайтесь получить эту запись. Если он найден, обновите его. Если нет, вставьте его. Возможно, что-то вроде этого:

var record = sd.stationSeasonNNcoefs.SingleOrDefault(e => e.Hours == todatabase.Hours && e.SeasonId == todatabase.SeasonId && e.StationId == todatabase.StationId);
if (record == null)
{
    sd.Add(todatabase);
}
else
{
    record.WeightsSeason = todatabase.WeightsSeason;
}
sd.SaveChanges();

Вызов SingleOrDefault либо возвратит одну совпадающую запись, либо null, если подходящая запись не найдена. (Примечание: оно выдаст исключение, если будет найдено более одного.)

18
задан Ronnie 7 August 2008 в 16:38
поделиться

1 ответ

Можно всегда добавлять частичный класс с тем же именем как класс LinqToSql и затем определять собственные параметры и функции. Они затем будут доступны как параметры объекта и методы для этого объекта, тот же путь, как автоматически сгенерированные методы LinqToSql доступны.

Пример: у Вас есть класс LinqToSql, названный Car, который отображается на таблицу Car в DB. Можно затем добавить файл к App_Code со следующим кодом в нем:

public partial class Car {
  // Add properties and methods to extend the functionality of Car
}

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

3
ответ дан 30 November 2019 в 09:44
поделиться
Другие вопросы по тегам:

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