通过服务访问数据库实体

时间:2014-02-27 09:01:34

标签: c# wcf entity-framework

我有一个实体框架数据库第一个应用程序作为WCF服务运行,使用以下方法:

public USER_SESSION GetUserSessionDetails(string ID)
    {
        var ctx = new Entities();
        USER_SESSION user = new USER_SESSION();

        var userSessionDetails = ctx.USER_SESSION.Where(s => s.ID == ID)
                 .Select(s => new { s.USER_NAME, s.DATE_TIME, s.ID }).ToList()
                 .FirstOrDefault();

        user.USER_NAME = userSessionDetails.USER_NAME;
        user.ID = userSessionDetails.ID;
        user.DATE_TIME = userSessionDetails.DATE_TIME;

        if(userSessionDetails == null) {
            return null;
        }
        else {
            return user;
        }

    }

现在,没有我的客户端,我想访问此方法并将返回值传递给USER_SESSION数据库对象的实例,如下所示:

USER_SESSION user = new USER_SESSION();
user = serviceClient.GetUserSessionDetails("2");

但我的客户端不知道USER_SESSION对象是什么 - 如何通过服务访问数据库实体和对象并在我的客户端中使用它们?

谢谢!

1 个答案:

答案 0 :(得分:1)

当您向Web服务添加服务引用或服务引用时,Web服务的代理类在客户端应用程序上创建因此您可以在客户端访问模型,如:

SampleServiceReference.Sample s = new SampleServiceReference.Sample();
label1.Text=s.Name;

SampleServiceReference是您的代理Web服务类。您可以通过选择特定服务参考和适当的类来查看这些类