测试框架说实体没有为内置的实体定义键
Castle.Proxies.IdentityUserLogin: : EntityType 'IdentityUserLogin' has no key defined. Define the key for this EntityType. 我正在尝试为我的MVC 5.1项目设置测试,该项目使用EntityFramework版本6.1,Aspnet.Identity.Coore 2.0,Aspnet.Identity.entityFramework版本2.0.我唯一的测试用例非常简单,并且在我尝试运行时," IdentityUserlogin"和实体类型" IdentitySerrole"的上述错误是错误的.问题在于,据我了解,这两个实体都定义了钥匙!由于框架提供了它们.我在我的代码的第一部分中看不到它们的描述,但是在数据库中,我可以看到它们都有钥匙. 在我的测试项目中,我正在使用Microsoft.visualstudio.testtools.unittesting和
0 2024-04-15
编程技术问答社区
在ASP .NET MVC应用程序中使用UserManager的种子方法没有创建用户
运行Seed方法时,将记录/对象添加到我的数据库中. 在我尝试将用户添加到我的应用程序(在Seed方法的底部)之前,每个对象都应该添加.没有人添加.另外,在底部发布了很多SQL例外.即使Seed方法是空的. 如何将用户添加到实体框架托管数据库中?我在斯科特·艾伦(Scott Allen)的教程之后创建了代码. protected override void Seed(WebApplication2.Models.ApplicationDbContext context) { System.Diagnostics.Debug.WriteLine("Seed started");//IT WORKS if (!context.Persons.Any()) { var persons = new List { new Person{FirstNam
0 2024-04-14
编程技术问答社区
身份 2.0 由管理员重置密码
如何将密码重置为其他用户的管理员? 我尝试使用以下代码 var code = await UserManager.GeneratePasswordResetTokenAsync(user.Id); var result = await UserManager.ResetPasswordAsync(user.Id, code, vm.NewPassword); 踏上生成wordwordresettokenasync时,调用了控制器的处理方法. 有人可以启发我吗? 解决方案 您还可以扩展UserManager并揭示不需要任何信息的显式AdminChangePassword API.在ApplicationUserManager中,扩展UserManager应该有效的事情: public IdentityResult ChangePasswordAdmin(string userId, string newPassword) { var user
0 2024-04-13
编程技术问答社区
在ASP .NET MVC 5.1/HTML 5中显示DateTime选取器而不是Date选取器的具体内容
我在ASP .NET MVC 5.1 中编写应用程序 我有一个字段: [DisplayName("Date of Birth")] [DataType(DataType.Date)] public DateTime BirthDate { get; set; } ,然后在视图中 @Html.LabelFor(model => model.BirthDate, htmlAttributes: new { @class = "control-label col-md-2" }) @Html.EditorFor(model => model.BirthDate, new { htmlAttributes = new { @class = "form-control" } })
0 2024-04-13
编程技术问答社区
在ASP .NET MVC 5.1/HTML 5中显示DateTime picker而不是Date picker的具体内容
我在ASP .NET MVC 5.1 中编写应用程序 我有一个字段: [DisplayName("Date of Birth")] [DataType(DataType.Date)] public DateTime BirthDate { get; set; } ,然后在视图中 @Html.LabelFor(model => model.BirthDate, htmlAttributes: new { @class = "control-label col-md-2" }) @Html.EditorFor(model => model.BirthDate, new { htmlAttributes = new { @class = "form-control" } })
0 2024-04-13
编程技术问答社区
迁移同步开发数据库和生产数据库
我将MVC 5与Net Framework 4.5.1一起使用.使用代码优先.我还使用SQL 2012服务器和(LocalDB)\ V11.0的迁移. 我正在使用C#和MVC5开发项目中间.在开发过程中,我在开发计算机中创建了许多新表格,并更改了"名称"字段,我相信该系统为该系统制定了索引.我添加并删除了几次. 之后,我添加了很多新的无关表,但是由于某种原因,由于"名称"字段的索引,我的迁移开始给我带来外国约束错误.当我修复它们时,这些错误一直在增加,因此,我决定回到迁移中的初始状态,并以当前位置作为新起点重置.我希望,生产桌会在开发数据库中查看这个新起点,并重新同步到发展状态.我以为我已经在某个地方读到,生产DB与发育数据库匹配并自行更新.我认为,生产数据库中有一个迁移文件,该文件将其自身与开发数据库中的文件相匹配,该文件显然是不同步的.我已经考虑删除其中的数据,但是我一直坚持下去直到得到建议. 无论如何,我更改了开发计算机中的迁移目录的名称,并将其排除在项目之外.然
Asp.net razor 列表项目的文本框阵列
我找不到或弄清楚如何列出项目列表(纸杯蛋糕),并用数量字段显示剃须刀. 发生的事情是我无法获得列表中每个纸杯蛋糕数量的值.您可以在剃须刀中执行textbox数组吗? 查看 Cupcakes @foreach (var cupcake in Model.CupcakeList) { @Html.TextBox("CupcakeQuantities", cupcake.Id) @cupcake.Name } 模型 public List CupcakeList { get; set; } public List CupcakeQuantities { get; set; } 控制器 public ActionResult Create() { var model =
0 2024-04-12
编程技术问答社区
MVC 5.1 Razor DisplayFor与Enum DisplayName不起作用
i具有以下实体(域)对象和包含枚举的模型.显示名称出现正确,适用于eNumdropDownList,但由于某些原因而不是用于助手的显示器,所显示的只是实际的枚举名称. 不确定我缺少什么,ASP.NET MVC 5.1为此添加了显示名称支持,因此我不需要创建自己的助手方法.请参阅:样品/MVC/Enumsample/Enumsample/Models/Enums.cs public class Addon { public int Id { get; set; } public AddonType AddonType { get; set; } public string Name { get; set; } public decimal Price { get; set; } public bool IsActive { get; set; } } public enum AddonType : byte { [Display
0 2024-04-11
编程技术问答社区
Html.EnumDropdownListFor: 显示一个默认的文本
在我看来,我有一个 enumdropdownlist (ASP中的一个新功能.NET MVC 5.1). @Html.EnumDropDownListFor(m => m.SelectedLicense,new { @class="form-control"}) 如果我执行上述代码,则会在以下枚举中获得下拉列表. public enum LicenseTypes { Trial = 0, Paid = 1 } 但是默认情况下,我希望我的下拉列表具有一个值(自定义文本) 这就是我尝试的 @Html.EnumDropDownListFor(m => m.SelectedLicense,"Select a license" ,new { @class="form-control"}) ,但是现在问题是当我运行它时,我的下拉列表看起来像这样 因此,我要显示的默认文本不会默认显示. 如果用户选择"选择许可证"并尝试提交表格,则确实显示出一个错误,说"选
2 2024-04-11
编程技术问答社区
ASP.NET MVC 5错误处理
我们要处理403个错误,404个错误,由于MySpecialDomainException>而引起的所有错误,并为所有其他错误提供默认错误页面(包括IIS配置中的错误!).所有错误都应返回适当的剃须刀视图,在视图前有一个ErrorController非常好. 例如这样的东西: public class ErrorController : Controller { public ViewResult NotFound () { return View(); } public ViewResult Forbidden () { return View(); } public ViewResult Default () { var ex = ObtainExceptionFromSomewhere(); if(ex is MySpecialDomainException) return View("M
0 2024-04-11
编程技术问答社区
在MVC5/ASP.Net Identity 2中支持个人用户账户和组织账户
我已经创建了一个ASP.NET MVC5应用程序,在该应用程序中,我通过Google,Facebook等进行了配置(并且工作正常)的单个用户帐户. 我想做的还要支持针对Azure Active Directory(组织帐户)的身份验证.这将使内部人员能够以管理员的身份登录该应用程序. 我发现的所有现有信息/指南/文档通常都使用一个或另一个.我将如何启用他们俩? 如果需要为每种类型的用户提供单独的登录表单,那不是问题. 编辑: 我正在查看Azure Active Directory Portal中的应用程序配置,并注意它们定义了" OAuth 2.0授权端点". MVC5可以在Startup.Auth.cs中配置以使用此吗? 解决方案 我通过执行以下操作来实现这一点: 首先,向Microsoft.Owin.Security.OpenIdConnect nuget软件包添加引用. 第二,在我的Startup.Auth.cs中配置它: a
Azure Web Project上的dotless不理解&:extend
我正在使用Azure SDK 2.2,并创建了一个全新的MVC 5 Web项目.我添加了无点,毫无疑问(随后从getbootstrap.com上更新到最新信息),以及字体令人陶醉.我已更新到最新内容,并解决了Dotless在我的Web.config文件中添加了一个部分,并导致项目返回500个内部服务器错误.该配置已根据错误移动. 现在,页面加载了,但是Bootstrap汇编从较少到CSS存在问题.这是我去Bootstrap.less File时看到的: Expected '}' but found ':' on line 643 in file 'mixins.less': [642]: padding-right: (@grid-gutter-width / 2); [643]: &:extend(.clearfix all); --^ [644]: } 这是我的bundleconfig.cs文件所说的: bundles.Add(new St
0 2024-03-23
编程技术问答社区
我如何在一个基本的MVC5.1网站中正确注册AutoFac?
AUTOFAC最近已针对MVC 5.1进行了更新,但是在撰写本文时,我发现该文档缺乏(尤其是一个简单的示例). 我想将依赖项注入MVC​​控制器,并为例如电子邮件(实际发送与打印到输出窗口)作为一个基本示例. 我不知道我是否缺少一个很好的资源,我很担心它使用OWIN规范,即MVC5.1的实现可能会有所不同(ASP.NET身份使用Owin,并且有一些用于正确实例化owin的特殊属性)因此需要检查我的事情正确. 我有一个有效的示例,其中有以下设置代码 - 对于标准MVC5.1 Web应用程序,这是正确且良好的做法吗? 奖励问题:我是否需要将instanceperhttprequest添加到寄存器controllers行? 即builder.RegisterControllers(typeof(mvcapplication).sembly).instanceperhttprequest(); (注意:我从AutoFac上看到了GitHub上的示例,但找不到适合MV
0 2024-03-20
编程技术问答社区
实体框架在使用异步调用时挂起
我是使用异步的新手,这似乎使我对原因或问题是什么,当我尝试加载网页时,异步调用似乎挂起,并且页面永远不会加载.我的实施是错误的吗? 控制器 public ActionResult Index() { var model = _partyAddOnService.Get().Result.Select(x => new AddOnModel() { Id = x.Id, AddOnType = x.AddOnType, Description = x.Description, Name = x.Name, Price = x.Price }); return View(model); } 服务 public async Task> Get() { return await _repository.GetAsy
0 2024-03-18
编程技术问答社区
如何在RouteCollectionRoute中找到正确的路线?
我正在测试ASP MVC路由.我有 ASP MVC 5.1 中属性路线的问题 当我有这样的控制器时: public class FooController : Controller { [Route("foo")] [HttpGet] public ActionResult Get() { .... } [Route("foo")] [HttpPost] public ActionResult Post() { .... } } 然后,为了测试哪种路线与特定请求匹配,我调用 routes.GetRouteData .我得到一个包含路由的System.Web.Routing.RouteData,以及应该说匹配哪个控制器和操作的值. 问题在于,此路线现在是RouteData.values中,但动作不是.您可以通过routeData.Values["MS_Direc
0 2024-03-16
编程技术问答社区
填充一个mvc5列表?
现在,我可以在游戏/创建下创建游戏. 我可以在帖子/创建下进行帖子. 但我的问题是,现在我的public int GameId { get; set; }被SQL数据库中的游戏表中的项目填充了.这很好,我喜欢它. ,但我希望public string Title { get; set; }以相同的方式与游戏数据库中的值相同. public int GameId { get; set; }用我的游戏表中的值填充了一个下拉列表. ,至于public string Title { get; set; },我必须手动输入它.我希望以GameId 相同的方式填充它 这是我的帖子模型 public class Post { [Key] public int PostId { get; set; } //URL [Display(Name = "URL")] [StringLength(80)] public stri
0 2024-03-16
编程技术问答社区
MVC5和Bootstrap3:Html.EditorFor类错了?如何改变?
我刚刚注意到,使用Editorfor时,MVC 5正在为输入字段使用其他类.我认为它来自较低版本的Bootstrap,因此当前类并没有真正累加. 我说的是: @Html.LabelFor(model => model.Contact.CellphoneNo, new { @class = "control-label col-md-4"}) @Html.EditorFor(model => model.Contact.CellphoneNo) @Html.ValidationMessageFor(model => model.Contact.CellphoneNo) 导致的:
2 2024-03-15
编程技术问答社区
在MVC 5中上传图片时,Request.Files.Count总是0
我在具有一些字符串字段和图像的模型上有一个邮政控制器.确切的相同代码在MVC4上工作,但在MVC 5中the request.files.count始终为0 我的模型具有图像而不是httppostedfilebase的字节[] 我的观点: @using (Html.BeginForm("Create", "HotelManager", FormMethod.Post, new { enctype = "multipart/form-data", data_ajax = "false" })) { @Html.AntiForgeryToken() @Html.TextBoxFor(model => model.Title, new { @class = "form-control" }) @Html.TextAreaFor(model => model.Description, new { @class = "form-control", @row
2 2024-03-15
编程技术问答社区
MVC 5 -> MVC 5.1 迁移。智能化问题
我刚刚从MVC 5将项目更新为MVC 5.1.主web.config文件自动更新,但是在主视图和区域文件夹下方web.config s并未更改.我怀疑这就是为什么我现在对我的动作,控制器和区域失去了Intellisense和Resmansens的支持. 有人知道正确的Web.config内容,用于MVC 5.1视图吗?只需替换3.0.0.0至3.1.0.0和5.0.0.0-> 5.1.0.0没有解决问题. 它发生在Visual Studio 2012和2013 Professional中. 解决方案 从此 MS Article : MVC 5.1工具支持和剃须刀Intellisense甚至仍被损坏 安装VS2013更新1 RC 已知问题: 如果VS2013用户安装了" Microsoft ASP.NET和Web Tools 2013.1 Visual Studio 2013"​​安装VS2013更新1 RC之前,他们不会 能够获得VS2013更新1的
4 2024-03-15
编程技术问答社区
用ASP.NET身份认证在两个项目中重合用户登录
我有一个问题,我在ASP.NET身份 中无法理解 应用以下步骤 创建两个空的Web项目,他们有名称: WebApplication1 WebApplication2 安装软件包" Microsoft ASP.NET身份样本2.0.0-Beta2 " 创建两个SQL数据库具有以下名称: WebDatabase1 WebDatabase2 添加用户在 webapplication1 中具有名称" user1 " 添加用户在 WebApplication2 中具有名称" user2 " 在同时运行两个项目. 我的问题是我在" user1 "中登录" webapplication1 " 我找到 webapplication2 用 user1 . 记录 尽管每个项目都有单独的数据库. 以及 WebApplication2 . 有什么问题? 原谅我的英语不好! 解决方案 当用户登录网站时,验证中间件将登录的用户信息(包括I
0 2024-03-15
编程技术问答社区