我有一个名为的商业模式Product,并Category像下面我在其中添加了验证:
public class Product
{
public int ProductId {get; set;}
[Required]
[StringLength(25)]
public string Name {get; set;}
public string Description {get; set;}
public int CategoryId {get; set;}
}
public class Category
{
public int CategoryId {get; set;}
public string Name {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
对于视图模型,我创建了这样的东西:
public class ProductViewModel
{
public Product Product {get; set;}
public IList<Category> Categories {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我的一位朋友建议在视图模型中保留所有验证,并在视图模型中映射业务模型的所有属性,如下所示:
public class ProductViewModel
{
public int ProductId {get; set;}
[Required]
[StringLength(25)]
public string Name {get; set;} …Run Code Online (Sandbox Code Playgroud) 请考虑以下代码:
enum Test {
OptionOne,
OptionTwo
}
List<string> testValues = new List<string> { ... } // A huge collection of strings
foreach(var val in testValues)
{
if(val == Test.OptionOne.ToString()) // **Here**
{
// Do something
}
}
Run Code Online (Sandbox Code Playgroud)
编译器是否会优化调用,Test.OptionOne.ToString()还是会为testValues集合中的每个项调用它?
我有一个应用程序,它涉及使用 WYSIWYG html 编辑器存储和检索大量用户格式的内容。有点像 SO 如何保存格式化的问题和答案。
执行此操作的标准方法是什么?
编辑:
澄清一下:我不是在询问要存储在数据库中的数据类型。相反,我担心在数据库中存储带有样式信息的 html 标签块。