gpt4 book ai didi

c# - Entity Framework 代码优先 + MySQL ... NullReferenceException

转载 作者:行者123 更新时间:2023-11-29 02:05:20 24 4
gpt4 key购买 nike

我需要处理我们访问受限的场外 MySQL 数据库中的几个表中的数据,因此我决定利用它作为获得一些 EFCF 经验的机会。无论我做什么,我都无法从 MySQL 数据库中获取任何数据。使用 MySQL Workbench,我可以确认连接详细信息是正确的,并且可以访问必要的表。

以下是对当前配置进行了一些编辑以保护服务器等。

网络配置

<connectionStrings>
<clear />
<add name="foo" connectionString="Server=111.222.333.444; Database=foo; Uid=foouser; Pwd=bar;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
</DbProviderFactories>
</system.data>

数据库上下文

public class DbContext : System.Data.Entity.DbContext
{
public DbContext()
: base("foo")
{

}

public DbSet<Model.resource_request> resource_requests { get; set; }
}

资源请求

[Table("resource_requests")]
public class resource_request
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Int64 id { get; set; }

public string CustomerName { get; set; }
public string ContactEmail { get; set; }
}

使用我收到的即时窗口快速检查上下文状态:

ctx.Database.Connection.Open()
Expression has been evaluated and has no value
ctx.Database.Connection
{MySql.Data.MySqlClient.MySqlConnection}
[MySql.Data.MySqlClient.MySqlConnection]: {MySql.Data.MySqlClient.MySqlConnection}
base {System.ComponentModel.Component}: {MySql.Data.MySqlClient.MySqlConnection}
ConnectionString: "server=111.222.333.444;database=foo;User Id=foouser"
ConnectionTimeout: 15
Database: "foo"
DataSource: "111.222.333.444"
ServerVersion: "5.1.43-community"
State: Open

但是执行查询结果是

ctx.resource_requests.Count();

Exception details

我确定我一定遗漏了一些明显的东西,但它是什么?

非常感谢

最佳答案

您是否尝试过将连接字符串命名为 DbContext ?它的名称应该与类名匹配。

像这样:

<add name="DbContext" connectionString="Server=111.222.333.444; Database=foo; Uid=foouser; Pwd=bar;" providerName="MySql.Data.MySqlClient" />

还没有尝试过使用 MySql,但我过去在使用 Sql Server 时遇到过问题,当时没有正确命名连接字符串。

最好的问候!

关于c# - Entity Framework 代码优先 + MySQL ... NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7192295/

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