为什么我的ASP.NET MVC无法将数据插入数据库
本文关键字:数据 插入 数据库 我的 ASP NET MVC 为什么 | 更新日期: 2023-09-27 18:22:46
我使用ASP.NET MVC创建了一个小型网站,但它无法创建新的、编辑或删除数据库中的数据。数据只显示在网页上,但当我在SQL中使用SELECT *
命令时,数据不会显示。
webconfig中的我的连接字符串:
<add name="CodeFileDBContext"
providerName="System.Data.SqlClient"
connectionString="Data Source=HOANG-PC'SQLSERVER01;Initial Catalog=Ciaos;User Id=sa;Password=**********;MultipleActiveResultSets=True" />
型号:
namespace Ciao.Models
{
public class CodeFile
{
[Key]
public int ColdeFile_ID { get; set;}
public string Website_Name { get; set;}
public string Service_Name { get; set;}
public DateTime Date_In { get; set;}
public DateTime Date_Out { get; set;}
public int Service_Status { get; set;}
}
public class CodeFileDBContext : DbContext
{
public DbSet<CodeFile> tbl_CodeFile { get; set; }
}
}
控制器:
namespace Ciao.Controllers
{
public class CodeFileController : Controller
{
private CodeFileDBContext db = new CodeFileDBContext();
//
// GET: /CodeFile/
public ActionResult Index()
{
return View(db.tbl_CodeFile.ToList());
}
//
// GET: /CodeFile/Details/5
public ActionResult Details(int id = 0)
{
CodeFile codefile = db.tbl_CodeFile.Find(id);
if (codefile == null)
{
return HttpNotFound();
}
return View(codefile);
}
//
// GET: /CodeFile/Create
public ActionResult Create()
{
return View();
}
//
// POST: /CodeFile/Create
[HttpPost]
public ActionResult Create(CodeFile codefile)
{
if (ModelState.IsValid)
{
db.tbl_CodeFile.Add(codefile);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(codefile);
}
//
// GET: /CodeFile/Edit/5
public ActionResult Edit(int id = 0)
{
CodeFile codefile = db.tbl_CodeFile.Find(id);
if (codefile == null)
{
return HttpNotFound();
}
return View(codefile);
}
//
// POST: /CodeFile/Edit/5
[HttpPost]
public ActionResult Edit(CodeFile codefile)
{
if (ModelState.IsValid)
{
db.Entry(codefile).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(codefile);
}
//
// GET: /CodeFile/Delete/5
public ActionResult Delete(int id = 0)
{
CodeFile codefile = db.tbl_CodeFile.Find(id);
if (codefile == null)
{
return HttpNotFound();
}
return View(codefile);
}
//
// POST: /CodeFile/Delete/5
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
CodeFile codefile = db.tbl_CodeFile.Find(id);
db.tbl_CodeFile.Remove(codefile);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
}
将构造函数添加到CodeFileDBContext类:
例如:
public CodeFileDBContext() : base("Name=CodeFileDBContext")
{
var adapter = (IObjectContextAdapter)this;
var objectContext = adapter.ObjectContext;
objectContext.CommandTimeout = 30; // value in seconds
}
你能给我们更多的细节吗,你得到的确切错误是什么?您应该检查的另一件事是,模型中的每个数据成员在该特定表中都有自己的列。如果它们的名称不完全匹配,请使用"Column"属性。例如,如果它们不匹配,请尝试:
[Column("Table_Id")]
public int ID { get; set; }
如果它们都匹配,请添加"Table"属性,这以前对我有很多帮助。
[Table("YourTableName")]
{
public class CodeFile....
}