不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
ASP.NET MVC3 + Entity Framework表名变为复数形式解决方法
编辑:dnawo 日期:2012-08-10
今天尝试用ASP.NET MVC3 + Entity Framework写个demo,结果运行出错。在寻找原因的过程中我对代码逐步简化,最终代码如下:
UserModels.cs:
UserController.cs:
运行结果:
很奇怪,为什么表名不是User,自动加上了s变成复数形式Users了呢?
ASP.NET MVC3 + Entity Framework表名变为复数形式解决方法
方法一:使用TableAttribute为实体类指定映射的表名
方法二:重写OnModelCreating方法不允许将表名变为复数形式
UserModels.cs:
复制内容到剪贴板 程序代码
using System;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
namespace MvcApplication1.Models
{
public class User
{
[Key]
public int Id { get; set; }
public string Usn { get; set; }
public string Pwd { get; set; }
public DateTime Created { get; set; }
}
public class UserContext : DbContext
{
public UserContext()
: base("Name=SQLServer")
{ }
public DbSet<User> User { get; set; }
}
}
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
namespace MvcApplication1.Models
{
public class User
{
[Key]
public int Id { get; set; }
public string Usn { get; set; }
public string Pwd { get; set; }
public DateTime Created { get; set; }
}
public class UserContext : DbContext
{
public UserContext()
: base("Name=SQLServer")
{ }
public DbSet<User> User { get; set; }
}
}
UserController.cs:
复制内容到剪贴板 程序代码
using System.Linq;
using System.Web.Mvc;
using MvcApplication1.Models;
namespace MvcApplication1.Controllers
{
public class UserController : Controller
{
private UserContext db = new UserContext();
public ActionResult Index()
{
Response.Write(db.User.Count().ToString());
return new EmptyResult();
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
}
using System.Web.Mvc;
using MvcApplication1.Models;
namespace MvcApplication1.Controllers
{
public class UserController : Controller
{
private UserContext db = new UserContext();
public ActionResult Index()
{
Response.Write(db.User.Count().ToString());
return new EmptyResult();
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
}
}
运行结果:
很奇怪,为什么表名不是User,自动加上了s变成复数形式Users了呢?
ASP.NET MVC3 + Entity Framework表名变为复数形式解决方法
方法一:使用TableAttribute为实体类指定映射的表名
复制内容到剪贴板 程序代码
[Table("User")]
public class User
{
[Key]
public int Id { get; set; }
public string Usn { get; set; }
public string Pwd { get; set; }
public DateTime Created { get; set; }
}
public class User
{
[Key]
public int Id { get; set; }
public string Usn { get; set; }
public string Pwd { get; set; }
public DateTime Created { get; set; }
}
方法二:重写OnModelCreating方法不允许将表名变为复数形式
复制内容到剪贴板 程序代码
public class UserContext : DbContext
{
public UserContext()
: base("Name=SQLServer")
{ }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>();
}
public DbSet<User> User { get; set; }
}
{
public UserContext()
: base("Name=SQLServer")
{ }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<System.Data.Entity.ModelConfiguration.Conventions.PluralizingTableNameConvention>();
}
public DbSet<User> User { get; set; }
}
上一篇: SQL Server添加/删除/修改列示例
下一篇: ASP.NET MVC3 Razor视图引擎基本语法学习小结
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
下一篇: ASP.NET MVC3 Razor视图引擎基本语法学习小结
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 9475
发表评论
请登录后再发表评论!