gpt4 book ai didi

silverlight - 如何将实体集合传递给 .NET RIA 数据服务?

转载 作者:行者123 更新时间:2023-12-04 19:23:32 24 4
gpt4 key购买 nike

是否可以将对象集合传递给 RIA 数据服务查询?我在发送实体、Int 或原始类型数组时没有问题,但是一旦我声明了这样的方法

public void GetLessonsConflicts(Lesson[] lessons)
{
}

我收到一个编译错误

" Operation named 'GetLessonsConflicts' does not conform to the required signature. Parameter types must be an entity type or one of the predefined serializable types"



我只是想在保存数据之前在服务器端做一些验证。我试过 List、IEnumerable 等。

谢谢

最佳答案

我认为问题实际上是缺少返回值。据我了解,您可以通过约定或属性来识别 DomainOperations。您没有显示属性,因此 RIA 将尝试按照约定匹配它。

例如,按照惯例,插入方法必须:

  • 将 Insert、Add 或 Create 作为方法名称前缀,例如插入员工
  • 匹配签名 public void name(Entity e);

  • 查询方法必须:
  • 公开
  • 返回 IEnumerable、IQueryable 或 T(其中 T 是一个实体)。

  • 自定义域操作必须
  • 公开
  • 返回无效
  • 有一个实体作为第一个参数。

  • 编辑:请参阅下面的 Rami A 评论。我相信当时这是真的,但我目前还没有使用这项技术,所以除了注意到它可能不正确之外,我还没有足够的时间来更新这个答案。

    或者您可以使用 [Insert]、[Delete]、[Update]、[Query]、[Custom] 等属性。从我的文档中,所有属性所做的都是删除对命名约定的要求 - 对我来说,[Query] 和 [Custom] 属性实现了什么并不清楚。

    除了 DomainOperations 之外,您还可以定义 ServiceOperations(使用 [ServiceOperation] 属性)和 InvokeOperations。

    This article可能会有所帮助(虽然我认为它有点过时了)。

    关于silverlight - 如何将实体集合传递给 .NET RIA 数据服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1824210/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com