首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RIA服务中的自定义DomainDataSource/表视图问题

RIA服务中的自定义DomainDataSource/表视图问题
EN

Stack Overflow用户
提问于 2012-06-07 19:37:33
回答 1查看 258关注 0票数 0

我使用的这个项目是基于一个标准的"Silverlight Business Application“。

我有许多可以正常显示的表,但我希望显示一个基于来自其他表的SQL连接的复合表。因此,在我的Model.Designer.cs中,我有一个小的虚拟类:

代码语言:javascript
复制
        public class JoinClass
    {
        [Key]
        public string LanguagesName { get; set; }
        public string VersionsName { get; set; }
        public string StringsName { get; set; }
        public string TranslatedStringsValue { get; set; }
    }

然后,在我的DomainService.cs中创建我的查询:

代码语言:javascript
复制
        public IQueryable<JoinClass> GetJoinClass()
    {
        IQueryable<JoinClass> query = from o in this.ObjectContext.TranslatedStrings
                                                                    where o.LanguagesID == 10
                                                                    select new JoinClass { LanguagesName = o.Languages.LanguagesName, VersionsName = o.Strings.Versions.VersionsName, StringsName = o.Strings.StringsName, TranslatedStringsValue = o.TranslatedStringsValue };

        return query;
    }

在Silverlight应用程序中,我通过一个DomainDataSource访问所有这些内容:

代码语言:javascript
复制
            <riaControls:DomainDataSource Name="joinClass" LoadSize="20" QueryName="GetJoinClass" AutoLoad="True">
            <riaControls:DomainDataSource.DomainContext>
                <ds:LanguageModelDomainContext />
            </riaControls:DomainDataSource.DomainContext>
            <riaControls:DomainDataSource.SortDescriptors>
                <riaControls:SortDescriptor PropertyPath="LanguagesName"></riaControls:SortDescriptor>
            </riaControls:DomainDataSource.SortDescriptors>
        </riaControls:DomainDataSource>

并在DataGrid中显示结果:

代码语言:javascript
复制
<sdk:DataGrid IsReadOnly="True" Name="translatedStringsDataGrid" ItemsSource="{Binding Data, ElementName=joinClass}"> 

没有什么复杂的科学问题-问题是我只能在DataGrid中显示一条记录。查询GetJoinClass()似乎执行得很好,返回了近600条记录,但在DataGrid中只出现过一条记录。我使用的所有其他标准查询都没有这个问题。

感谢您的指点!

EN

回答 1

Stack Overflow用户

发布于 2012-06-07 22:45:25

答案:

[Key]。类的所有属性都应该有[Key]属性,而不是只有一个属性,例如

代码语言:javascript
复制
        public class JoinClass
    {
        [Key]
        public string LanguagesName { get; set; }
        [Key]
        public string VersionsName { get; set; }
        [Key]
        public string StringsName { get; set; }
        [Key]
        public string TranslatedStringsValue { get; set; }
    }

我也不知道原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10931056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档