无法使用实体框架从WCF服务获取数据

时间:2013-04-04 11:53:04

标签: asp.net wcf entity-framework-4 linq-to-entities

我正在使用一个Web应用程序,用户将一个参数传递给服务,它将返回字符串数据类型,即查询结果。在服务中,我使用实体框架根据用户输入进行查询,但我无法获取数据,而是在我的 webapplication 中抛出异常 .....  由于内部错误,服务器无法处理请求。有关错误的更多信息,请在服务器上启用IncludeExceptionDetailInFaults(来自ServiceBehaviorAttribute或配置行为)以将异常信息发送回客户端,或者根据Microsoft .NET Framework 3.0 SDK文档启用跟踪并检查服务器跟踪日志。 Web应用程序和服务是两种不同的解决方案。 我的WCF服务中的代码

public string GetFunctionality(string UserId)
    {
        string strRoleName = string.Empty;
        objEntity = new SYMPHONY_TVEntities();
        var Function = from t1 in objEntity.Users join t2 in objEntity.User_Role on t1.Role equals t2.User_Role1 where t1.UserID == UserId select t2;
        var UserName = from it in objEntity.Users where it.UserID == UserId select it;
        //Here i am getting exception
        User_Role objRole = Function.First();
        User objUser = UserName.First();
        if (objRole.User_Function != null && objUser.User_Name != null)
        {
            strRoleName = objRole.User_Function + "$" + objUser.User_Name;
        }
        return strRoleName;
    }

我的连接字符串WCF服务

<add name="SYMPHONY_TVEntities" connectionString="metadata=res://*/UsersModel.csdl|res://*/UsersModel.ssdl|res://*/UsersModel.msl;provider=System.Data.SqlClient;provider connection string='Data Source=inhi1u-hd0212\;Initial Catalog=&quot;SYMPHONY TV&quot;;Integrated Security=True;MultipleActiveResultSets=True'" providerName="System.Data.EntityClient" /></connectionStrings>

1 个答案:

答案 0 :(得分:0)

你的代码看起来不错。例外情况说它无法连接到数据库。这意味着您的连接字符串可能有误,请验证您的连接字符串。如果此操作失败,请尝试在objEntity之后添加此行代码。 (Why?

objEntity = new SYMPHONY_TVEntities();
objEntity.Connection.Open();