我使用EF6在类库(数据库第一)传递连接字符串到实体框架6
当我跟着该向导,并加入我的表我选择为不连接的字符串存储在App.config和我会发送连接字符串。
我以前没有这样做过。通常我选择将连接字符串放在app.config文件中。
我现在完全难住我如何实际调用一个函数并将连接字符串传递给它。
以下是我希望从我的解决方案中得到的相关代码片段。
在App.config - EF自动将此:
<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>
我的自动生成的上下文类看起来是这样的:
//------------------------------------------------------------------------------
// <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; }
}
}
最后,我想调用下面的测试功能:
public static List<Customer> customersToUpdate()
{
cerviondemoEntities db;
using (db = new DatabaseModel.cerviondemoEntities())
{
var result = from customers in db.Customers
select customers;
return result.ToList();
}
}
我不知道如何发送连接字符串到该函数:(
任何帮助将不胜感激!
或者,你可以将它添加到.TT文件,而不是创建另一个文件,并使用“部分” – Daniel
谢谢不适用于v 6.1.3您可以在app.config文件中提供需要的功能吗?还提供了一个连接字符串的例子,使您的答案工作 –
我已经添加了一个示例连接字符串。 –