Asp.net mvc MVC中的Soc是一种更好的MVC设计模式,适用于大型分布式应用
我需要创建一个电子商务应用程序,这是最好的设计 型号Asp.net mvc MVC中的Soc是一种更好的MVC设计模式,适用于大型分布式应用,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我需要创建一个电子商务应用程序,这是最好的设计 型号 我已经看到其中一些正在分离实体框架上下文 类在单独的类库中,业务层在单独的类中 库和数据类独立类库中的poco类 项目 我们有上下文类知道例子 这是Db创建的Poco类 using System.ComponentModel.DataAnnotations; using System.Web.Mvc; public partial class User { public int UserID { get; set; }
我已经看到其中一些正在分离实体框架上下文 类在单独的类库中,业务层在单独的类中 库和数据类独立类库中的poco类 项目 我们有上下文类知道例子 这是Db创建的Poco类
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
public partial class User {
public int UserID { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string ConfirmPassword { get; set; }
public string FullName
{ get; set; }
public string EmailID { get; set; }
} [HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Register(User U)
{
if (ModelState.IsValid)
{
using (MyDatabaseEntities dc = new MyDatabaseEntities())
{
dc.Users.Add(U);
dc.SaveChanges();
ModelState.Clear();
U = null;
ViewBag.Message = "Successfully Registration Done";
}
}
return View(U);
}
或者我必须为它和访问创建一个单独的类容器
public class User {
public int UserID { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string ConfirmPassword { get; set; }
public string FullName { get; set; } *
public string EmailID { get; set; }
}
内部控制器
public ActionResult Register(User U)
{
using (MyDatabaseEntities dc = new MyDatabaseEntities())
{
User.UserID= u.UserID;
User.Username = u.Username;
User. Password = u.Password;
User.ConfirmPassword = u.ConfirmPassword;
User.UserID= u.UserID;
dc.SaveChanges();
ViewBag.Message = "Successfully Registration Done";
}
}
return View(U);
}
哪种方法更好?模型绑定和这些方法的区别是什么?
为什么我们不喜欢绑定EF类 第二种方式-当您分离DAL(数据访问层)和
ViewModels
时,由MVC自动绑定到Controller
的效果更好
因为如果您至少将这两个层分开(在您的示例中,我看不到BL层),您现在可以轻松地更改显示用户信息的视图,并且不会弄乱DAL层,而是更改映射(在寄存器中映射视图模型
,控制器
)
如果您有真正简单的视图和DAL逻辑,这看起来可能不重要,但当您的项目增长时,这将是一件好事,因为这将允许您分别更改视图逻辑和DAL逻辑