C# ASP.NET控制器写入数据库时出错
告诉我为什么在使用db.Test.Add(view)方法时会出现这样的错误; 错误:CS1503参数1:无法从“DC.Models.View”转换为“DC.Models.SaveComments.Test”。 我尝试将数据写入数据库,代码: 我的控制器:C# ASP.NET控制器写入数据库时出错,c#,asp.net-mvc,database,C#,Asp.net Mvc,Database,告诉我为什么在使用db.Test.Add(view)方法时会出现这样的错误; 错误:CS1503参数1:无法从“DC.Models.View”转换为“DC.Models.SaveComments.Test”。 我尝试将数据写入数据库,代码: 我的控制器: namespace DC.Controllers { public class CommentController : Controller { public ActionResult SaveRecord(Vi
namespace DC.Controllers
{
public class CommentController : Controller
{
public ActionResult SaveRecord(View model)
{
try
{
DataComment db = new DataComment();
View view = new View();
view.Id = model.Id;
view.Name = model.Name;
db.Test.Add(view);
db.SaveChanges();
}
catch (Exception ex)
{
throw ex;
}
return RedirectToAction("Index");
}
}
}
型号:
namespace DC.Models.SaveComments
{
public class DataComment : DbContext
{
public DataComment()
: base ("CC")
{ }
public DbSet<Test> Test { get; set; }
}
}
namespace DC.Models.SaveComments
{
public class Test
{
public int Id { get; set; }
public string Name { get; set; }
}
}
namespace DC.Models
{
public class View
{
public int Id { get; set; }
public string Name { get; set; }
}
}
namespace DC.Models.SaveComments
{
公共类DataComment:DbContext
{
公共数据评论()
:base(“CC”)
{ }
公共数据库集测试{get;set;}
}
}
命名空间DC.Models.SaveComments
{
公开课考试
{
公共int Id{get;set;}
公共字符串名称{get;set;}
}
}
名称空间DC.Models
{
公共阶级观
{
公共int Id{get;set;}
公共字符串名称{get;set;}
}
}
在html页面中:
<body>
@using (Html.BeginForm("SaveRecord", "Comment", FormMethod.Post))
{
<p>Id @Html.TextBoxFor(model => model.Id)</p>
<p>Name @Html.TextBoxFor(model => model.Name)</p>
<input type="submit" value="Submit" class="btn-block btn-primary" />
}
</body>
@使用(Html.BeginForm(“SaveRecord”、“Comment”、FormMethod.Post))
{
Id@Html.TextBoxFor(model=>model.Id)
Name@Html.TextBoxFor(model=>model.Name)
}
您创建的视图对象应为测试对象:
namespace DC.Controllers
{
public class CommentController : Controller
{
public ActionResult SaveRecord(View model)
{
try
{
DataComment db = new DataComment();
Test view= new Test(); //This is change
view.Id = model.Id;
view.Name = model.Name;
db.Test.Add(view);
db.SaveChanges();
}
catch (Exception ex)
{
throw ex;
}
return RedirectToAction("Index");
}
}
}
还有一点是它们在模型名称空间上的不同,请也看看这一点
或者,您也可以使用如下所示:
public ActionResult SaveRecord(Test model)
{
try
{
DataComment db = new DataComment();
db.Test.Add(model);
db.SaveChanges();
}
catch (Exception ex)
{
throw ex;
}
return RedirectToAction("Index");
}