Sha*_*ica 2 c# linq enums linq-to-sql
我的数据库表中有一个用于存储枚举值的字段,例如:
create table MyTable (
...
Status tinyint not null,
...
)
Run Code Online (Sandbox Code Playgroud)
在我的C#课中我有
public enum TStatus : byte {
Pending = 1
Active = 2,
Inactive = 3,
}
public TStatus MyStatus {
get { return (TStatus)Status; }
set { Status = (byte)value; }
}
Run Code Online (Sandbox Code Playgroud)
现在我想写一个使用例如MyStatus属性的Linq查询MyTable
var q = MyDataContext.GetTable<MyTable>().Where(t => t.MyStatus == TStatus.Active);
Run Code Online (Sandbox Code Playgroud)
但当然,Linq不知道如何解释MyStatus为SQL.MyStatus为了使它在LinqToSQL中工作,我需要做什么?
看看这个链接:
http://dotnet.org.za/hiltong/archive/2008/08/06/using-enums-with-linq-to-sql.aspx
随着链接死亡 - 至少对我来说这个人死了 - 这是重要的部分:
[默认情况下,将列添加到实体时],Type将显示为"int(System.Int32)",但您可以将其更改为枚举的完全限定类型(在我的示例中,ConsoleApplication1.CustomerType ).但是,为了完全定位它,您必须添加全局标识符,如下所示:global :: ConsoleApplication1.CustomerType,因此在文本框中按原样键入(但名称空间等效)
| 归档时间: |
|
| 查看次数: |
210 次 |
| 最近记录: |