У меня есть объект со свойством ModifiedDateTime, которое я хочу быть обновленным с текущей датой и временем от базы данных вместо сервера "приложения", выполняющего приложение.
Каждый раз, когда я хочу обновить или добавить человека к моей базе данных на SQL Server 2008, я хочу заполнить зарегистрированный ModifiedDateTime. Это не похоже, я могу изменить запрос на обновление как с командой адаптера данных, когда я работаю с набором данных и определить для моего ModifiedDateTime, зарегистрированного, чтобы быть GetDate (). Я создал сохраненную функцию для возврата меня значение GetDate () метод, но у меня есть проблема для импорта процедуры, которая возвращает значения как интервал, строка или никакое значение вообще, уже просто значения объекта как Человек, например, в моем случае. Почему это?
Так или иначе это очень помогло бы, если можно помочь мне получить текущий DateTime от сервера базы данных.
Есть ли причина, по которой вы просто не можете передать это в базу данных? Если вы включите DateTime.Now в запрос к сущности, это приведет к тому, что она будет передана (getdate) в базу данных.
Пример linq к сущностям
var dQuery = dbContext.CreateQuery<DateTime>("CurrentDateTime() ");
DateTime dbDate = dQuery.AsEnumerable().First();
SQL Generated ...
SELECT GetDate() AS [C1] FROM ( SELECT cast(1 as bit) AS X ) AS [SingleRowTable1]
Может быть есть лучший способ сделать это?
В VS 2008, если вы добавляете шаблон функции для возврата скаляра, он не добавляет код для упрощения использования. Вам необходимо получить доступ к шаблону функции напрямую - я использую частичный класс для создания необходимых методов для простоты использования. Они исправили это в VS2010.
public DateTime GetDateTime()
{
var returnValue = new DateTime();
using (var connection = new EntityConnection(Connection.ConnectionString))
{
connection.Open();
using (var command = connection.CreateCommand())
{
command.CommandText = "myStoredProc";
command.CommandType = CommandType.StoredProcedure;
try
{
returnValue = Convert.ToDateTime(command.ExecuteScalar());
}
finally
{
connection.Close();
}
}
}
return returnValue;
}
Дополнительная информация: Импорт функций в модели сущностей с типом возврата, отличным от сущности