asp.net-mvc-5 – 使用Fluent迁移器将初始行添加到表中
发布时间:2020-12-16 06:39:11 所属栏目:asp.Net 来源:网络整理
导读:我是一个经典的程序员,是generics的新手,这是一个asp.net MVC5示例应用程序,用于学习使用流畅的迁移器库集成授权(用户/角色).我想在创建表时将一些示例数据添加到表中(使用迁移器控制台工具). 获取编译错误:当前上下文中不存在USERNAME 我应该添加什么来使
我是一个经典的程序员,是generics的新手,这是一个asp.net MVC5示例应用程序,用于学习使用流畅的迁移器库集成授权(用户/角色).我想在创建表时将一些示例数据添加到表中(使用迁移器控制台工具).
获取编译错误:当前上下文中不存在USERNAME (谢谢) namespace SampleApp.Migrations { [Migration(1)] public class AuthMigrations:Migration { public override void Up() { Create.Table("users"). WithColumn("ID").AsInt32().Identity().PrimaryKey(). WithColumn("USERNAME").AsString(128). WithColumn("EMAIL").AsCustom("VARCHAR(128)"). WithColumn("PASSWORD_HASH").AsString(128); Create.Table("roles"). WithColumn("ID").AsInt32().Identity().PrimaryKey(). WithColumn("NAME").AsString(128); Create.Table("role_users"). WithColumn("ID").AsInt32().Identity().PrimaryKey(). WithColumn("USER_ID").AsInt32().ForeignKey("users","ID").OnDelete(Rule.Cascade). WithColumn("ROLE_ID").AsInt32().ForeignKey("roles","ID").OnDelete(Rule.Cascade); //Error:The name 'USERNAME' does not exist in the current context Insert.IntoTable("users").Row(new { USERNAME:"superadmin",EMAIL:"superadmin@mvcapp.com",PASSWORD_HASH:"dfgkmdglkdmfg34532+"}); Insert.IntoTable("users").Row(new { USERNAME:"admin",EMAIL:"admin@mvcapp.com",PASSWORD_HASH:"dfgkmdglkdmfg34532+"}); } public override void Down() { Delete.Table("role_users"); Delete.Table("roles"); Delete.Table("users"); } } 和 namespace SampleApp.Models { public class User { public virtual int Id { get; set; } public virtual string Username { get; set; } public virtual string EMail { get; set; } public virtual string passwordhash { get; set; } } public class UserMap : ClassMapping<User> { public UserMap() { Table("Users"); Id(x => x.Id,x => x.Generator(Generators.Identity)); Property(x => x.Username,x => x.NotNullable(true)); Property(x => x.EMail,x => x.NotNullable(true)); Property(x=>x.passwordhash,x=> { x.Column("PASSWORD_HASH"); x.NotNullable(true); }); } } } 解决方法
在C#中,必须在对象初始值设定项中使用等号(“=”)而不是冒号(“:”).
Insert.IntoTable("users").Row(new { USERNAME = "superadmin",EMAIL = "superadmin@mvcapp.com",PASSWORD_HASH = "dfgkmdglkdmfg34532+"}); Insert.IntoTable("users").Row(new { USERNAME = "admin",EMAIL = "admin@mvcapp.com",PASSWORD_HASH = "dfgkmdglkdmfg34532+"}); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 没有回发的日历控件
- asp.net-mvc – 最佳实践:在web api控制器中处理错误和异常
- asp.net-mvc – 使用SaveAs对话框下载Rotativa
- asp.net-mvc – ASP.Net MVC 3中的远程验证:如何在Action方
- asp.net-mvc – 用于为基于Razor的View编写单元测试的指针
- asp-classic – 在VBScript中输出GUID会忽略它之后的所有文
- asp.net – ASP:登录总是生成一个,我怎么能让它停止?
- 在Asp.Net中群发邮件HTML-newsletter
- asp.net – 性能缓慢的Azure’Web App’Azure SQL DB
- asp.net-mvc – 如何在MVC3中为多行文本框创建多个编辑器模
推荐文章
站长推荐
- SignalR(.NET Core)中的JWT身份验证,而不在查询字
- asp.net-mvc – MVC Razor ViewEngine不是线程安
- asp.net-membership – MiniProfiler和SqlMember
- asp.net-core – ASP.NET Core 2迁移错误.找不到
- asp.net – 如何在站点地图的单独窗口中打开文档
- asp.net – 在IIS上部署MVC应用程序时,我收到一个
- 何时在ASP.NET MVC 2应用程序中提交NHibernate事
- ASP.NET:如何更快地加载页面
- asp.net-mvc – 如何将Azure AD身份验证用于单独
- 保护asp.net Web应用程序的步骤清单?
热点阅读