Database 使用WCF服务将图像添加到数据库

Database 使用WCF服务将图像添加到数据库,database,wcf,image,service,Database,Wcf,Image,Service,我正在尝试向数据库中的表中添加图像,但在使用WCF服务时似乎无法这样做 下面的代码给出了一个错误 private CRMEntities _crm; private readonly Uri _uri = new Uri("http://localhost/CRMService.svc"); //Adds a new image to database public bool AddImage(byte[] imagefile, int epid) {

我正在尝试向数据库中的表中添加图像,但在使用WCF服务时似乎无法这样做

下面的代码给出了一个错误

    private CRMEntities _crm;
    private readonly Uri _uri = new Uri("http://localhost/CRMService.svc");

    //Adds a new image to database
    public bool AddImage(byte[] imagefile, int epid)
    {
        if (imagefile.Equals(null) || epid.Equals(null)) return false;
        _crm = new CRMEntities(_uri);
        var i = new Image { ImageFile = imagefile, EP_ID = epid };
        _crm.AddToImages(i);
        _crm.SaveChanges();
        return true;
    }
截图:

但如果我把它改成这个,它可以省很多钱

        if (imagefile.Equals(null) || epid.Equals(null)) return false;
        var crm = new CRMData.CRMEntities(System.Configuration.ConfigurationManager.ConnectionStrings["CRMEntities"].ToString());
        var i = new CRMData.Image { ImageFile = imagefile, EP_ID = epid };
        crm.AddToImages(i);
        crm.SaveChanges();
        return true;
编辑

但它适用于其他类

保存到数据库

我正在使用的connectionstring是-

<connectionStrings>
<add name="CRMEntities" connectionString="metadata=res://*/CRM.csdl|res://*/CRM.ssdl|res://*/CRM.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLExpress;Initial Catalog=CRM;Persist Security Info=True;User ID=sa;Password=Server01;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
<add name="CRM" connectionString="Data Source= .\SQLExpress;Initial Catalog=CRM;Persist Security Info=True;User ID=sa;Password=Server01" providerName="System.Data.SqlClient" />


编辑了整个答案

private readonly Uri _uri = new Uri("http://localhost/CRMService.svc");
是服务Uri,而不是DB连接字符串

检查连接字符串“CRMEntities”的配置文件

给你打电话的代码:

 private readonly string _connectionString= "<your actual connection string>";

    //Adds a new image to database
    public bool AddImage(byte[] imagefile, int epid)
    {
        if (imagefile.Equals(null) || epid.Equals(null)) return false;
        _crm = new CRMEntities(_connectionString);
private只读字符串_connectionString=”“;
//将新图像添加到数据库
公共bool AddImage(字节[]图像文件,int-epd)
{
if(imagefile.Equals(null)| epd.Equals(null))返回false;
_crm=新的CRMEntities(_connectionString);

您不能简单地用服务Uri替换DB连接字符串,这是不可能的。

如果您发布错误详细信息,您可能会得到更好的响应-您包含的屏幕截图只是一个通用错误对话框。它没有给我们太多的工作。错误消息的文本将是完美的。
 private readonly string _connectionString= "<your actual connection string>";

    //Adds a new image to database
    public bool AddImage(byte[] imagefile, int epid)
    {
        if (imagefile.Equals(null) || epid.Equals(null)) return false;
        _crm = new CRMEntities(_connectionString);