标签: wcf-ria-services

Linq To Entities - 如何过滤子实体

我有实体GroupUser.
Group实体拥有Users财产是用户的列表.
用户有一个名为的属性IsEnabled.

我想编写一个返回Groups 列表的linq查询,该列表只包含Users IsEnabled为true 的s .

例如,对于类似下面的数据,
AllGroups
组A
用户1(IsEnabled = true)
用户2(IsEnabled = true)
用户3(IsEnabled = false)

B组
用户4(IsEnabled = true)
用户5(IsEnabled = false)
用户6(IsEnabled = false)

我想得到
FilteredGroups
A组
用户1(IsEnabled = true)
用户2(IsEnabled = true)

B组
用户4(IsEnabled = true)

我尝试了以下查询,但Visual Studio告诉我
[不能将属性或索引器'用户'分配给它 - 它是只读的]

FilteredGroups = AllGroups.Select(g => new Group()
                    {
                        ID = g.ID,
                        Name = g.Name,
                        ...
                        Users = g.Users.Where(u …
Run Code Online (Sandbox Code Playgroud)

linq linq-to-entities entity-framework wcf-ria-services

14
推荐指数
2
解决办法
2万
查看次数

Silverlight,DataPager,RIA服务和智能分页

我仍然试图通过Silverlight和RIA Services来实现我的目标,当然还要从一些更"有趣"的东西开始,比如网格和智能分页.我可以连接到RIA Services(使用自行开发的ORM,而不是L2S或EF),在网格上获取数据,并连接到DataPager.域服务与本土ORM一起运行良好,至少对于查询而言.(仍在使用完整的CRUD.)但是,仍然存在问题:

  1. 为了支持用户应用程序,除了智能分页(仅运行查询显示所需的行)和分组之外,我还需要用户控制的排序和过滤.

  2. 到目前为止,我在DataGrid或DataPager中没有看到任何外部化这些功能的内容,因此可以将过滤,排序和分页参数传递给服务器以构建适当的查询.

  3. 数据集可能非常大; 我选择用于原型制作工作的我的表可以在一些客户中拥有多达35,000个条目,我确信还有其他更大的表格,我将不得不在某个时候处理.因此,"智能寻呼"方面至关重要.

我们欢迎您的想法,建议,指导和nerf砖.

silverlight-3.0 datapager wcf-ria-services

13
推荐指数
1
解决办法
9169
查看次数

Ria Services将复杂对象作为参数传递给查询域服务方法

我遇到了一些与此线程中指定的问题类似的WCF RIA服务的困难.

我正在创建的域服务方法(Query方法)应该采用复杂的对象参数.示例域服务方法:

public ComplexObjectResult GetComplexObject(ComplexObjectParameter test)
   {
        //do stuff
   }
Run Code Online (Sandbox Code Playgroud)

参数对象:

public class ComplexObjectParameter 
{        

    [Key]
    public decimal ID { get; set; }

    ... other fields
}
Run Code Online (Sandbox Code Playgroud)

我得到此编译错误:错误70域操作条目'GetComplexObject'的参数'test'必须是预定义的可序列化类型之一.

在网上搜索了一下后,我发现了这个msdn线程.它声明这是RIA服务的限制,并且该线程没有指定任何体面的解决方法.

现在似乎有一些肮脏的解决方法:

  • 更改复杂参数以键入字符串和序列化/反序列化参数对象我自己,我发现一个非常hacky解决方案.

  • 在域服务方法上使用[Invoke]标签并放弃所有RIA跟踪功能,我首先使用RIA.

是否有替代方案可以解决上述解决方案的缺点?是否有人为此问题找到了更优雅的解决方法?

谢谢

c# silverlight wcf .net-4.0 wcf-ria-services

12
推荐指数
1
解决办法
7966
查看次数

导航逻辑在哪里,View,ViewModel或其他地方?

我在视图中的一个按钮,绑定到ViewModel的ICommand属性(实际上它是来自mvvv-light的RelayCommand)

如果用户点击按钮,我想导航到新视图.当然,NavigationService是View而不是ViewModel的一部分.这意味着导航是View的责任?但在我的情况下,单击按钮时我将要查看的视图取决于很多因素,包括登录用户是谁,数据库所处的状态等等......当然,视图不需要全部那些信息.

执行NavigationService.Navigate调用的首选选项是什么?

mvvm silverlight-4.0 wcf-ria-services mvvm-light

12
推荐指数
2
解决办法
6639
查看次数

什么是.NET RIA服务?

有人可以简洁地解释一下吗?它可以与非Silverlight客户端一起使用吗?

.net silverlight wcf-ria-services

10
推荐指数
1
解决办法
2352
查看次数

RIA服务与ADO.NET数据服务

我目前正在创建Silverlight 3数据驱动的应用程序.要访问数据库,使用了两种常用方法:RIA服务和ADO.NET数据服务.有没有人对何时/为何选择每种方法有任何指导?以下是我从研究/经验中收集的内容.有什么想法吗?

ADO.NET似乎只对严格的数据库调用有用.如果您需要将数据服务公开给其他应用程序(忽略Silverlight 3的域限制),这是一种很好的方法.此外,如果URL/Query语法在您的应用程序中有用,这是另一个优点

RIA Services似乎是一个更灵活,更可接受的框架.它似乎给你的不仅仅是严格的数据库访问.它仅限于用于Silverlight/Web应用程序,因为它不是通过服务公开的.

思考?想法?评论?

silverlight-3.0 .net-3.5 wcf-data-services wcf-ria-services

10
推荐指数
1
解决办法
3245
查看次数

使用RIA服务的自定义数据注释

如果您将RIAServices与Custom ValidatorAttributes一起使用,那么这不仅仅是一个警告.

这是Senario,我正在创建一个自定义DataAnnotation,它将根据是否设置了一系列其他属性来验证属性,例如; 如果Prop1为100,则Prop2,Prop3或Prop4不能为0,其中一个必须设置.我也在使用RIA Services,所以我创建了ValidatorAttribute我的.shared.cs文件.在为helper CannotBeZeroIf类编写了所有测试之后,我开始将属性添加到Model Class中.当然,事情开始变得非常错误.RIA Services在CodeGen期间开始抛出NullReferenceException.

CreateRiaClientFilesTask - > NullReferenceException

事实证明,我正在使用验证器的构造函数将值传递给类.通过切换到使用ObjectInitialization语法,一切都得到了修复.

在处理RIA服务和自定义数据注释验证器时,答案似乎是使用ObjectInitializer语法.

wcf-ria-services data-annotations

10
推荐指数
1
解决办法
423
查看次数

RIA服务的奇怪错误"代码生成器遇到了致命的异常"

这是我第二次遇到WCF RIA服务这个非常奇怪的问题!可悲的是,我必须两次解决问题,再次经历不同的箍:(,即使我已经给自己留下了一个指示解决方案的注释:P

无论如何,"非常有用"的错误消息如下:

...\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Ria.Client.targets(304,5):错误:代码生成器'Microsoft.ServiceModel.DomainServices.Tools.CSharpCodeDomClientCodeGenerator'遇到致命异常但无法生成项目"ProjectA"的代码

resx silverlight-4.0 wcf-ria-services c#-4.0

10
推荐指数
1
解决办法
1706
查看次数

CQRS是否与实体框架自我跟踪实体/ WCF RIA服务兼容?

CQRS有很多意义.但是,使用提供更改跟踪的ORM的方法似乎是相互排斥的.如果我有一个"通道"用于查询以将我的对象作为RO,则无需更改跟踪.如果我有另一个CUD +命令通道,它更多的是带有光DTO的RPC方法,然后发送自跟踪实体以在较低层合并.

如何协调这两种方法(CQRS/ORM + STE)?

entity-framework cqrs wcf-ria-services

10
推荐指数
1
解决办法
2061
查看次数

当"Application Name = application"在连接字符串中时,为什么此数据库连接失败?

我们正在编写一个多租户的Silverlight应用程序.用户使用Windows窗体身份验证登录,我们从表中提取该用户的连接字符串.字符串的形式如下:

Data Source=1.2.3.4; Initial Catalog=database; Persist Security Info=True; User ID=######; Password=##########
Run Code Online (Sandbox Code Playgroud)

这工作正常.然后我们决定设置应用程序名称,因为这里列出的原因是个好主意:

Data Source=1.2.3.4; Initial Catalog=database; Application Name=application; Persist Security Info=True; User ID=######; Password=##########
Run Code Online (Sandbox Code Playgroud)

但是,现在没有建立连接,所以我们遇到了错误.这仅在部署的站点上失败.通过Visual Studio运行显然不受影响.进行连接的代码没有任何变化.我愿意相信应该有变化,但我无法弄清楚它们应该是什么.

正在创建连接如下:

public class OurDataContext : DataContext
{
    public OurDataContext()
        : base(SessionCache.OurConnectionString)
    {
        ....
    }
 }
Run Code Online (Sandbox Code Playgroud)

SessionCache.OurConnectionString 是从数据库中读取的字符串.

UPDATE

连接字符串的更改可能是红色鲱鱼.我们只在一台Web服务器上遇到此故障(我无法直接访问该服务器).添加属性,通过另一台Web服务器所引用的数据库(即我访问)不会重现该问题.这使我得出结论,错误在其他地方.但是,我仍然没有接近解决这个问题.

实际错误是一个例外:

An exception of type 'System.ServiceModel.DomainServices.Client.DomainOperationException' occurred and was caught.
------------------------------------------------------------------------------------------------------------------
01/31/2012 14:18:53  
Type : System.ServiceModel.DomainServices.Client.DomainOperationException, System.ServiceModel.DomainServices.Client, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Message : Load operation failed for query 'GetUserSecurityConfig'. The …
Run Code Online (Sandbox Code Playgroud)

c# silverlight connection-string wcf-ria-services

9
推荐指数
1
解决办法
1562
查看次数