Я хочу удалить объект из базы данных, используя LINQ2SQL, без необходимости его предварительного извлечения (по соображениям производительности).
Я понимаю, что это можно сделать следующим образом ( Удалить запись LINQ to SQL, не загружая ее сначала ):
public void Delete(int id)
{
var e = new TestEntity { Id = id };
_context.TestEntities.Attach(e, false);
_context.TestEntities.DeleteOnSubmit(e);
}
однако, когда TestEntity содержит дату и время, аналогичныеto:
public class TestEntity
{
public int Id { get; set; }
public String TestString { get; set; }
public DateTime TestDate { get; set; }
public int TestInt { get; set; }
}
Я получаю следующую ошибку:
SqlDateTime переполнение.Должен быть между 01.01.1753 12:00:00 и 31.12.9999 11:59:59 PM.
, что в основном означает, что он пытается проверить .net default datetime по отношению к SQLdatetime
Есть ли способ удаления объекта с ненулевым значением без необходимости его предварительной выборки?
* Заметьте, я также пытался установить фиктивное значение datetime в фиктивное, и в этом случае яполучить следующее:
Строка не найдена или изменена.