Linq to sql и поле отметки времени - PullRequest
0 голосов
/ 26 июля 2010

Я создал таблицу с полем отметки времени.Для свойства Allow Nulls установлено значение false .Когда я хочу обновить сущность из репозитория , я получаю значение null для этого поля, но в базе данных это поле имеет некоторое значение.Кто-нибудь знает в чем может быть проблема?Я получаю правильные значения для других полей.Спасибо.

изменить :Когда я получаю сущность из репозитория , поле метки времени устанавливается соответствующим образом.Проблема где-то в http post:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Product product)

Значение поля метки времени здесь теряется: (

1 Ответ

0 голосов
/ 27 июля 2010

По умолчанию представление Edit, которое генерирует VS, исключает двоичные поля. Чтобы включить поле Timestamp в представление, вам необходимо добавить в это представление скрытое поле, подобное следующему:

<%: Html.Hidden("Timestamp", Model.Timestamp.ToString()) %>

Вам также придется добавить эту строку в ваш Web.config, если вы получите ошибку компиляции, как я (при использовании VS 2010):

<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

потому что Timestamp.ToString () является методом расширения.

Имейте в виду, что вы не можете явно изменить поле метки времени в базе данных. SQL Server управляет этим.

...