gpt4 book ai didi

asp.net-mvc - ASP.net MVC 4,连接字符串

转载 作者:行者123 更新时间:2023-12-05 01:20:03 25 4
gpt4 key购买 nike

我正在学习 MVC4 http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller (编辑:固定网址)

一切正常,但我的数据库没有更新,但当我运行项目时,记录来自某个地方,但我无法在我的 MSSQL 中找到该数据库。

我在 web.config 中的连接字符串是

<connectionStrings>
<add name="PurchaseInfosDbContext"
connectionString="server=lakpa-pc;Integrated Security=SSPI; User ID=sa; Password=xxxxx; database=MessInfo" providerName="System.Data.SqlClient" />
</connectionStrings>

但是在 Visual Studio 中,当我调试时,我得到的连接字符串为

"Data Source=.\\SQLEXPRESS;Initial Catalog=Mvc4Projects.Models.ItemsDetailsDbContext;Integrated Security=True;MultipleActiveResultSets=True"

它不是应该从 web.config 中读取连接字符串吗?我没有修改任何页面上的任何连接字符串。

一个。是否有必要包含该教程中所示的 SDF 文件?不能直接更新成mdf文件吗?

最佳答案

我的问题是继承 DbContext 的类的名称不同,因此即使我没有指定它,MVC 也会默认连接到 SQLExpress。

好吧,我更改了类似于连接字符串名称的类名称,现在它指向更正位置。

可能对某人有帮助。面临和解决的问题

一个。必须使用继承 DbContext 的 Class 作为连接字符串的名称。

Entity framework 添加的 SQL Query 有复数表名所以使用属性 [Table("PurchaseInfo")] 使其成为单数。

使用 POCO 方法时,如果您不遵循其命名约定,您将遇到一个关键问题,就像在我的示例中,它的 Key 必须是“PurchaseInfoID”,但我使用了 ItemId 。所以使用属性[Key]来解决这个问题。

public  class PurchaseInfoDbContext : DbContext
{
public DbSet<PurchaseInfo> ItemsDetails { get; set; }
}

[DisplayName("Items Details")]
[Table("PurchaseInfo")]
public class PurchaseInfo
{
[HiddenInput]
[Key]
public int ItemId { get; set; }
}

关于asp.net-mvc - ASP.net MVC 4,连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11964319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com