具有EntityFramework的WCF

具有EntityFramework的WCF,wcf,entity-framework,Wcf,Entity Framework,我正在写我的第一个WCF服务。我有一些使用实体框架的操作——获取一些数据并返回JSON字符串 我可以使用wcfClient成功调用操作,但当我尝试在自己的测试控制台应用程序中调用该操作时,实体模型构造函数中出现以下错误: 指定的命名连接在配置中找不到、不打算与EntityClient提供程序一起使用,或者无效。DataContract类中的代码: [DataContract] public class DrawSystemService : IDrawSystemService { pu

我正在写我的第一个WCF服务。我有一些使用实体框架的操作——获取一些数据并返回JSON字符串

我可以使用wcfClient成功调用操作,但当我尝试在自己的测试控制台应用程序中调用该操作时,实体模型构造函数中出现以下错误:

指定的命名连接在配置中找不到、不打算与EntityClient提供程序一起使用,或者无效。DataContract类中的代码:

[DataContract]
public class DrawSystemService : IDrawSystemService
{
    public string GetDrawEntry(string entryId)
    {
        using (MyEntities context = new MyEntities())
        {
            tblDrawEntry drawEntry = null;
            try
            {
                drawEntry = context.tblDrawEntries.FirstOrDefault(e => e.DrawEntryID == new Guid(entryId));
            }
            catch (Exception ex)
            {
            }
            string json = JsonConvert.SerializeObject(drawEntry, Formatting.Indented);
            return json;
        }
    }
}
控制台应用程序中的代码:

            WcfDrawSystemLibrary.DrawSystemService drawSystem = new DrawSystemService();

        drawSystem.GetDrawEntry("665B534B-73EE-4385-A9BA-02A25CB5FE4D");

一般来说,问题可能是您必须在控制台应用程序的app.config中添加正确的连接字符串。从服务配置中获取连接字符串的副本,并将其添加到控制台的app.config中

另一方面,我注意到您的服务被标记为[DataContract],而它应该是[ServiceContract]。也许这是打字错误,而你已经在你的界面级别上做到了


如果您真的将此服务视为DataContract,那么我建议您查看此服务,因为它不应该是这样的。

感谢您的回复。我确实删除了DataContract装饰——我确实将接口作为服务合同。我确实将我的wcf库项目app.config中的实体模型connect字符串添加到了我的控制台应用程序的app.config中,并且成功了。我试图模拟在这个平台上工作的移动开发人员调用它:介意缩小范围吗?也就是说,更具体一点