Wdrażam api internetowe, które będzie pobierać dane za pomocą struktury encji 6. Używam Sql Server 2014 i Visual Studio 2015. Podczas debugowania kodu w klasie CustomerDao widzę wyjątek w obiekcie customerOrderContext, chociaż widzę rekordy w obiekcie klienta. Jednak po uruchomieniu bloku blokowania nie widzę żadnych rekordów.Entity Framework 6 serwerowa wersja błędu: (System.Data.SqlClient.SqlConnection) customerOrderContext.Database.Connection) .ServerVersion
((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();
}
Ciąg połączenia w pliku konfiguracyjnym jest następująca
<add name="Entities" connectionString="metadata=res://*/EF.CustomerOrderContext.csdl|res://*/EF.CustomerOrderContext.ssdl|res://*/EF.CustomerOrderContext.msl;provider=System.Data.SqlClient;provider connection string="data source=Tom-PC\MSSQLSERVER2014;initial catalog=Ransang;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Klasa kontekstu jest następująca:
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; }
}
CustomProvider.cs
public IEnumerable<BusinessObjects.Customers> GetAllCustomers()
{
IList<BusinessObjects.Customers> customerCollection = new List<BusinessObjects.Customers>();
dataAccess.CustomerDao.GetAllCustomers();
return customerCollection;
}
Czy otrzymują żadnego wyjątku? * (System.Data.SqlClient.SqlConnection) customerOrderContext.Database.Connection) .ServerVersion * nie wydaje się być komunikatem wyjątku. Gdzie to widziałeś? –
Podczas debugowania kodu w klasie CustomerDao widzę wyjątek w obiekcie customerOrderContext, mimo że widzę rekordy w obiekcie klienta. Jednak po uruchomieniu bloku blokowania nie widzę żadnych rekordów. Myślę, że jest pewien problem z nawiązaniem połączenia i dlatego nie można uzyskać danych do wiadomości Ui – Tom
Co to jest wiadomość wyjątku? –