如何将RowVersion属性添加到EF4类

Col*_*ond 5 entity-framework sql-server-2008 entity-framework-4

我正在使用EF4并通过Entity设计表面创建类,然后从它们生成数据库.我想为某些类添加一个属性,以显示它们上次更新的时间戳.

我已经为它们添加了一个Version属性,但是我不知道与它们关联哪个.Net数据类型,因此它们在生成时会成为数据库中的Timestamp或RowVersion.

有任何想法吗?

Mic*_*uen 4

您使用byte[]rowversion/timestamp 类型

\n\n

使用示例:http://www.ienablemuch.com/2011/07/using-checkbox-list-on-aspnet-mvc-with_16.html

\n\n

如果您在设计器中,只需输入byte[]System.Byte[],我认为可以在 EF 设计器上的字段类型下拉选择中输入。

\n\n

鉴于此 DDL

\n\n
create table Movie\n(\nMovieId int identity(1,1) not null primary key,\nMovieName varchar(100) not null unique,\nMovieDescription varchar(100) not null unique,\nYearReleased int not null,\nVersion rowversion  -- rowversion and timestamp are alias of each other\n);\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是类映射:

\n\n
public class Movie\n{\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0[Key]\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0public virtual int MovieId { get; set; }\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0[\xc2\xa0\xc2\xa0 Required, Display(Name="Title")\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0]\xc2\xa0\xc2\xa0 public virtual string MovieName { get; set; }\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0[\xc2\xa0\xc2\xa0 Required, Display(Name="Description")\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0]\xc2\xa0\xc2\xa0 public virtual string MovieDescription { get; set; }\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0[\xc2\xa0\xc2\xa0 Required, Display(Name="Year Released"), Range(1900,9999)\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0]\xc2\xa0\xc2\xa0 public virtual int? YearReleased { get; set; }\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0[Timestamp]\n    // byte[] is the rowversion/timestamp .NET type\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0public virtual byte[] Version { get; set; }  \n\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0public virtual IList<Genre> Genres { get; set; }\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 \n}\n
Run Code Online (Sandbox Code Playgroud)\n

  • 呃哦..,我正在回答去年的问题:D (2认同)