gpt4 book ai didi

c# - Entity Framework 6 错误服务器版本 : (System. Data.SqlClient.SqlConnection)customerOrderContext.Database.Connection).ServerVersion

转载 作者:太空狗 更新时间:2023-10-29 21:32:32 25 4
gpt4 key购买 nike

我正在实现一个将使用 Entity Framework 6 获取数据的 Web API。我正在使用 Sql Server 2014 和 visual studio 2015。在调试 CustomerDao 类中的代码时,我在 customerOrderContext 对象中看到了一个异常,尽管我可以查看客户对象中的记录。但是在执行 using block 后,我看不到任何记录。

((System.Data.SqlClient.SqlConnection)customerOrderContext.Database.Connection).ServerVersion

CustomerDao

using (var customerOrderContext = new Entities())
{
return (from customer in customerOrderContext.Customers

select new CustomerOrder.BusinessObjects.Customers
{
Id = customer.Id,
FirstName = customer.FirstName,
LastName = customer.LastName,
Address = customer.Address,
City = customer.City,
Email = customer.Email,
Gender = customer.Gender,
State = customer.State,
Zip = customer.Zip
}).ToList();
}

config文件中的连接字符串如下

<add name="Entities" connectionString="metadata=res://*/EF.CustomerOrderContext.csdl|res://*/EF.CustomerOrderContext.ssdl|res://*/EF.CustomerOrderContext.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=Tom-PC\MSSQLSERVER2014;initial catalog=Ransang;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

上下文类如下

public partial class Entities : DbContext
{
public Entities()
: base("name=Entities")
{
}

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{

}

public virtual DbSet<Customer> Customers { get; set; }
public virtual DbSet<OrderDetail> OrderDetails { get; set; }
public virtual DbSet<Order> Orders { get; set; }
public virtual DbSet<Product> Products { get; set; }
}

enter image description here

CustomProvider.cs

  public IEnumerable<BusinessObjects.Customers> GetAllCustomers()
{
IList<BusinessObjects.Customers> customerCollection = new List<BusinessObjects.Customers>();
dataAccess.CustomerDao.GetAllCustomers();
return customerCollection;
}

最佳答案

异常(exception)是documented这是因为连接已关闭。这没有问题。

但显然你得到的结果是空的,因为你没有使用结果,你只是返回 new List<BusinessObjects.Customers>()在你的方法中:

public IEnumerable<BusinessObjects.Customers> GetAllCustomers()
{
IList<BusinessObjects.Customers> customerCollection =
new List<BusinessObjects.Customers>(); // ← An empty list
dataAccess.CustomerDao.GetAllCustomers(); // ← Just executed but didn't use anywhere
return customerCollection; // ← The empty list you created at first
}

您需要 return dataAccess.CustomerDao.GetAllCustomers(); :

关于c# - Entity Framework 6 错误服务器版本 : (System. Data.SqlClient.SqlConnection)customerOrderContext.Database.Connection).ServerVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40391054/

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