Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在MVC应用程序中显示数字状态_C#_Linq To Sql_Model View Controller - Fatal编程技术网

C# 如何在MVC应用程序中显示数字状态

C# 如何在MVC应用程序中显示数字状态,c#,linq-to-sql,model-view-controller,C#,Linq To Sql,Model View Controller,我正在基于MVC构建一个新的应用程序,并考虑LINQ到SQL/实体框架。我有一个具有数字状态的实体,如(0-打开,1-活动,2-关闭),我应该将逻辑放在哪里以在视图/控制器或自动生成的模型中显示适当的字符串(枚举? 我是否应该将所有这些逻辑移到业务层? 我是否应该将业务逻辑和新属性(以显示字符串状态)添加到LINQ-To-SQL构建的分部类中?实际上,LINQ-To-SQL可以将整数直接绑定到枚举(数据库中的int(etc)或[n][var]char列数据),因此一个简单的答案是创建一个枚举(在

我正在基于MVC构建一个新的应用程序,并考虑LINQ到SQL/实体框架。我有一个具有数字状态的实体,如(0-打开,1-活动,2-关闭),我应该将逻辑放在哪里以在视图/控制器或自动生成的模型中显示适当的字符串(枚举? 我是否应该将所有这些逻辑移到业务层?
我是否应该将业务逻辑和新属性(以显示字符串状态)添加到LINQ-To-SQL构建的分部类中?

实际上,LINQ-To-SQL可以将整数直接绑定到枚举(数据库中的
int
(etc)或
[n][var]char
列数据),因此一个简单的答案是创建一个枚举(在数据/存储库层中),并更改dbml(通常通过设计器),使其在状态列中使用(完全限定的)枚举类型

如果这不是一个选项,那么我会将类中的status属性(再次通过dbml)重命名为类似于
StatusCode
,并添加一个返回首选表示形式(作为枚举或字符串)的分部类,即


将int直接转换为enum类型不是比switch/case更好吗?获取{return(Status)StatusCode;}@Lucas-如果他们可以直接强制转换,那么他们可以(主要根据定义)使用更简单的LINQ到SQL绑定。。。
partial class YourType { // only do this if direct enum mapping isn't an option
    public Status Status { // could also be string
         get {
             switch(StatusCode) {
                  case 0: return Status.Open;
                  // etc
             }
         }
    }
}