Używam EF6 w bibliotece klasy (pierwszej bazy)Przechodząc String Connection do Entity Framework 6
Kiedy następuje kreatora i dodaje moje tabele Wybrałem nie przechowywać ciąg połączenia w app.config i że Wysłałbym ciąg połączeń.
Nie robiłem tego wcześniej. Zazwyczaj wybieram umieszczenie łańcucha połączenia w pliku app.config.
Jestem teraz całkowicie zaskoczony, jak faktycznie wywołuję funkcję i przekazuję do niej ciąg połączenia.
Poniżej znajdują się, mam nadzieję, istotne fragmenty kodu z mojego rozwiązania.
W app.config - EF automatycznie dodanych w tym:
<connectionStrings>
<add name="cerviondemoEntities" connectionString="metadata=res://*/DatabaseModel.cervionEDM.csdl|res://*/DatabaseModel.cervionEDM.ssdl|res://*/DatabaseModel.cervionEDM.msl;provider=System.Data.SqlClient;provider connection string="data source=DEVBOX;initial catalog=cerviondemo;user id=sa;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
Moje auto generowane klasa kontekst wygląda następująco:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace CervionFunctions.DatabaseModel
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class cerviondemoEntities : DbContext
{
public cerviondemoEntities()
: base("name=cerviondemoEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<Customer> Customers { get; set; }
public virtual DbSet<Ticket> Tickets { get; set; }
}
}
Ostatecznie Próbuję wywołać następującą funkcję testową:
public static List<Customer> customersToUpdate()
{
cerviondemoEntities db;
using (db = new DatabaseModel.cerviondemoEntities())
{
var result = from customers in db.Customers
select customers;
return result.ToList();
}
}
Nie mogę się dowiedzieć, jak wysłać ciąg połączenia z tą funkcją :(
Każda pomoc będzie bardzo ceniona!
Alternatywnie, można go dodać do pliku .tt zamiast tworzyć kolejny plik i za pomocą „” – Daniel
Dzięki częściowej nie działa z v. 6.1.3 Czy możesz podać, co jest potrzebne w pliku app.config, aby działał? Podaj także przykładowy ciąg połączenia, który sprawia, że twoja odpowiedź działa –
Dodałem przykładowy łańcuch połączeń. –