我是Silverlight和RIA服务的新手,我正在尝试建立一个小项目来理解它。基本上我创建了一个业务应用程序,我有一个正常的登录屏幕,我可以添加一个用户。这很好,我可以添加一个用户并让他进入aspnet_Users表。现在我已经创建了一些额外的字段,比如Mob No,Tel No,DOB,Locality等,我把它放在我创建的名为UserProfile的表中,我的想法是获取已注册的用户名,并将其插入我的UserProfile表和其他相关数据。
所以我创建了一个名为Profile.xaml的页面,我创建了一个UserProfileDomainService.cs,我只有一个查询,从表中获取用户配置文件数据,然后在我的页面上创建一个Details DataGrid,并在我的情况是GetUserProfilesQuery()。现在我想做的是,让用户登录,获取他的用户名,并检查我的表格,看看表格中是否已有数据。如果使用数据填充DataGrid上的字段,以便用户可以修改此数据,如果没有,则允许用户将数据插入表中。
所以我创建了一个UserProfileViewModel类,我想创建查询以获取与该用户相关的数据。但是我不知道如何做到这一切,以及如何让用户登录。
有人可以给我一些建议或指点一些关于如何实现这个目标的教程吗?
非常感谢,非常感谢您的帮助。
答案 0 :(得分:0)
在域服务查询中,您可以使用ServiceContext.User.Identity.Name来获取特定于该用户的信息以包含在您的数据库查询中。我在项目中做了类似的事情。
我们使用实体框架,因此LINQ to Entities查询看起来像:
return this.ObjectContext.UserSnapins
.Include("Snapin.EvolutionModule")
.Where(si => si.User.UserName == ServiceContext.User.Identity.Name)
.OrderBy(si => si.PageOrder);