- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 ASP 的新手,我正在创建一个简单的 ASP.NET MVC 应用程序,它将个人信息存储在数据库中。使用 DB First 方法,我创建了以下数据库表:
CREATE TABLE [dbo].[Author] (
[PersonID] INT IDENTITY (1, 1) NOT NULL,
[MobileNum] NVARCHAR (50) NULL,
[Location] NVARCHAR (50) NULL,
[LinkedIn] NVARCHAR (50) NULL,
[FaceBook] NVARCHAR (50) NULL,
[Picture] IMAGE NULL,
[Name] NVARCHAR (50) NULL,
[Email] NVARCHAR (50) NULL,
PRIMARY KEY CLUSTERED ([PersonID] ASC)
);
我使用 PersonID 作为 PrimaryKey
并且我希望 EF 为我自动生成它,但由于某种原因,这并没有发生。我在属性中手动调整了身份选项:
我还将必要的属性附加到我的模型(尽管我在某处读到自动生成也应该在没有它们的情况下工作):
public partial class Author
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PersonID { get; set; }
public string MobileNum { get; set; }
public string Location { get; set; }
public string LinkedIn { get; set; }
public string FaceBook { get; set; }
public byte[] Picture { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
然而,在创建新条目期间,数据库的 ModelState
始终为 false:
在调试器中仔细查看,问题似乎是 EF 期望 PersonID 由用户分配。
我有以下属于创建操作的 View
:
<div class="form-group">
@Html.HiddenFor(model => model.PersonID, htmlAttributes: new { @class = "control-label col-md-2" })
</div>
我还应该做些什么来启用 PersonID 的自动生成吗?我错过了什么?将我指向初学者水平,DB First 文章也非常受欢迎,因为我发现的大多数文章都没有提到这个问题(例如 here 、 here 或 here )。
最佳答案
感谢您在评论部分提出的所有建议,但令人惊讶的是,问题与数据库或模型无关:我重新创建了整个数据库,但仍然出现相同的错误。事实证明,问题出在负责在创建新条目时提示用户输入的 View 中,更具体地说,这是有问题的部分:
<div class="form-group">
@Html.HiddenFor(model => model.PersonID, htmlAttributes: new { @class = "control-label col-md-2" })
</div>
解决方案:我刚刚删除了整个<div>
与 @Html.HiddenFor
id 的 html 助手,数据库现在接受新条目。就这么简单。
我认为导致问题的原因是数据库似乎希望用户提供 ID ,即使 helper 被设置为隐藏,我想,这就是为什么 ModelState.IsValid
总是false
.我用了@Html.HiddenFor
在编辑功能中(我在创建之前编写了编辑以使用模拟数据测试数据库)并且它没有问题,所以我认为通过禁止用户与一段数据交互,ASP 将自动知道不要期望用户,但很明显,我错了。
关于c# - 带有 Entity Framework 的 ASP.NET : EF does not generate identity automatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48590491/
安装 Windows 服务时,有两个选项可用于在 Windows 启动时自动启动 Windows 服务。一种是自动,另一种是自动(延迟启动)。这两者具体有什么区别? 例如,如果您使用 wixtools
使用Xcode 4.2,如何启用/禁用“自动引用计数”? ANSWERED 在“构 build 置”下,根据是否要启用ARC翻转"is"和“否”。 最佳答案 全局范围内: 转到“构 build 置”,
在学习 PHP 中 Cookie 的概念时,我从 w3schools PHP Tutorial 中看到以下语句: The value of the cookie is automatically UR
在学习 PHP 中 Cookie 的概念时,我从 w3schools PHP Tutorial 中看到以下语句: The value of the cookie is automatically UR
我曾经有自动代码签名身份:iPhone Developer 在真实设备上进行测试(它与我的“开发”证书匹配)。 很快在我的目标设置中,我无法选择“iPhone 开发者”,而且我没有看到任何开发者证书,
当我编译这段代码时: class DecoratedString { private: std::string m_String; public: // ... constructs
我在 Kathy Sierra 的书中读到过: “局部变量有时称为堆栈、临时、自动或方法变量,但无论您使用什么,这些变量的规则都是相同的调用他们。” 为什么局部变量叫automatic? 最佳答案 当
复制代码 代码如下: Const OWN_PROCESS = &H10 Const ERR_CONTROL = &H2 Const INTERACTIVE = False
我有以下问题: 我需要在条形图中从最高到最低排序我的值: 我知道我可以使用数据透视表和数据透视图,但将来可能会有点复杂。 最佳答案 我建议通过使用帮助列来根据需要对数据进行排序来实现这一点。 C 列:
我本质上想创建一个每次都会执行的变量。举个最简单的例子: $myvar = `write-host foo`; 然后每次我引用 $myvar 时,它都会输出 foo: dir $myvar Direc
有人知道有一个实用程序可以自动检测并删除 uses 子句中不需要的单元吗? 最好是.. 可以针对一个单元和/或一个项目运行 免费且可与 Delphi 2010 配合使用 提前致谢。 最佳答案 尝试使用
在大多数情况下,当您阅读here时,IBOutlet应该很弱。 现在,您可以在development library中阅读,并非所有类都支持弱引用。 (例如NSTextView)。这意味着您必须使用a
只是一个简单的问题(我想)但是,假设我有以下数据文件: # no x data, it's sampled for instance each second. 23 42 48 49 89 33 39
我在以前工作的应用程序上用 RC 更新了 ASP.NET 5 框架 beta-8 包。在我让它运行后,启动过程中出现下一个错误: InvalidOperationException: No authe
我编写了一个Powershell脚本,该脚本应将服务设置为StatusType ='Automatic'。但是,当我运行脚本时,它实际上设置了StatusType ='Automatic(Delaye
我想知道 WPF 中是否有一种自动控制大小调整的功能。 我的意思是,一种根据用户屏幕分辨率自动调整元素大小的方法,而无需在代码中定义它。 谢谢。 最佳答案 首先,WPF 使用与设备无关的像素,这意味着
我正在从 bat 文件或 Python 文件调用外部程序 (fxTsUtf8.exe)。我浏览了数百个 sos 文件。在某些情况下,exe 文件可能会由于读取 sos 文件中的错误而失败。要继续执行
我想知道正在创建的这个线程(引用代码片段)是否会在完成其工作后在垃圾收集中自动终止。 我正在创建一个基本的聊天程序,以学习如何使用套接字、创建客户端和创建服务器。我很快发现,如果我希望能够从客户端发送
我目前正在修复一个 JSP 项目,它目前在 Tomcat 的 WEB-INF 文件夹中有一个看似随机的 .class 文件集合。作为简化这一点的一种方法,我计划从这些类中直接从 SVN 获取 .jav
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及
我是一名优秀的程序员,十分优秀!