3

我有一个数据库表(个人资料)来描述一个人。该表有一列“Sex”(整数)。在.NET 部分我有:

public enum Sex { Male = 1, Female = 2 } 

public class Profile{
    public int ID {get; set;}
    public Sex Sex {get; set;}
}
...
SimpleRepository _repo = new SimpleRepository("ConnectionString");
_repo.Add<Profile>(profile);

在此操作之后,Subsonic 插入一个新行,但“Sex”字段为 NULL。我为“Sex”列尝试了 INT 和 VARCHAR 类型,但没有任何结果。我还尝试了枚举的另一个名称,例如“SexEnum”。你有什么想法?可能需要一些名称约定或表列的特殊类型。先感谢您。

4

1 回答 1

2

我假设您习惯于使用 .nettiers 之类的东西来从查找表生成枚举,但是 SubSonic 不提供此功能。如果您的表中有 SexId 列,您可以执行以下操作(需要添加空检查):

public enum Sex { Male = 1, Female = 2 } 

public class Profile{
  public int ID {get; set;}
  public Sex Sex 
  {
    get { return (Sex)SexId; }
    set { SexId = (int)value; }
  }
  int SexId {get; set;}
}
于 2009-07-13T16:41:17.320 回答