Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF RIA. Ищу метод с выборкой из хранимой процедуры в DomainServiceClass / 4 сообщений из 4, страница 1 из 1
22.09.2010, 18:10
    #36860916
Flint-San
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF RIA. Ищу метод с выборкой из хранимой процедуры в DomainServiceClass
Всем привет,

Легко это делаю через стандартный WCF.

Но никак не могу найти хотя бы один четкий пример вызова хранимой процедуры с последующей выборкой из нее.
Попытки обращения к ней
Код: plaintext
1.
2.
Operation named 'MyStoredProc' does not conform to the required signature. 
Return types must be an entity, collection of entities, or one of the predefined serializable types.	
Мне понятно, что DDS требует serializable types и primary keys,
не понятно только как это сделать?
...
Рейтинг: 0 / 0
22.09.2010, 18:54
    #36861003
папа арбуз
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF RIA. Ищу метод с выборкой из хранимой процедуры в DomainServiceClass
Flint-SanМне понятно, что DDS требует serializable types и primary keys,
не понятно только как это сделать?

Добавить метаданные

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
[MetadataType(typeof(MyEntityMetadata))]
public partial class MyEntity
{
  internal class MyEntityMetadata
  {
    [Key]
    public int MyEntityPrimaryKey;
    ...
  }
}
...
Рейтинг: 0 / 0
22.09.2010, 20:11
    #36861088
Flint-San
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF RIA. Ищу метод с выборкой из хранимой процедуры в DomainServiceClass
Я извиняюсь, но все равно не понимаю,
как протолкнуь ХП из Entities Framework через DomainServiceClass к клиенту Silverlight приложения.

В WCF делал так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<ServiceContract()> 
Public Interface IServiceHomes 
     
    <OperationContract()> 
    Function GetpMyProc() As List(Of pMyProc_Result) 
 
End Class  
 
Public Class ServiceHomes 
    Implements IServiceHomes 
 
   Public Function GetpMyProc() As System.Collections.Generic.List(Of pMyProc_Result) Implements IServiceHomes.GetpMyProc 
        Dim ctx As HomesEntities = New HomesEntities 
        Dim resultSet = From L In ctx.functionMyProc Select L 
        Return resultSet.ToList() 
   End Function  
 
End Class

В WCF.RIA в DomainServiceClass пытаюсь объявить так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    Partial Public Class DomainServiceH 
    Inherits LinqToEntitiesDomainService(Of HomesEntities)

   <Query(IsComposable:=False)> 
    Public Function GetpMyProc() As ObjectResult(Of pMyProc_Result) 
        Return Me.ObjectContext.functionMyProc 
    End Function
    End Class

хранимка возвращает один столбец, он уникальный из distinсt операции.
Как мне научить понимать DSS, что этот столбец и есть ключ :(

В EF
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Public Partial Class HomesEntities
    Inherits ObjectContext

    Public Function functionMyProc() As ObjectResult(Of pMyProc_Result)
        Return MyBase.ExecuteFunction(Of pMyProc_Result)("functionMyProc")
    End Function
End Class

<EdmComplexTypeAttribute(NamespaceName:="ModelHomes", Name:="pMyProc_Result")>
<DataContractAttribute(IsReference:=True)>
<Serializable()>
Public Partial Class pMyProc_Result
    Inherits ComplexObject
    #Region "Primitive Properties"

    ''' <summary>
    ''' No Metadata Documentation available.
    ''' </summary>
    <EdmScalarPropertyAttribute(EntityKeyProperty:=false, IsNullable:=true)>
    <DataMemberAttribute()>
    Public Property Alphabet() As Global.System.String
        Get
            Return Alphabet
        End Get
        Set
            OnAlphabetChanging(value)
            ReportPropertyChanging("Alphabet")
            _Alphabet = StructuralObject.SetValidValue(value, true)
            ReportPropertyChanged("Alphabet")
            OnAlphabetChanged()
        End Set
    End Property

    Private _Alphabet As Global.System.String
    Private Partial Sub OnAlphabetChanging(value As Global.System.String)
    End Sub

    Private Partial Sub OnAlphabetChanged()
    End Sub

    #End Region
End Class

Куда добавить <Key> если у меня нет такого класса с метаданными в DSS. Делаю в DSS
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Imports System.ComponentModel.DataAnnotations

Partial Public Class pMyProc_Result

    'This class allows you to attach custom attributes to properties
    ' of the vЗдания class.
    '
    'For example, the following marks the Xyz property as a
    ' required property and specifies the format for valid values:
    '    <Required()>
    '    <RegularExpression("[A-Z][A-Za-z0-9]*")>
    '    <StringLength( 32 )>
    '    Public Property Xyz As String
    Friend NotInheritable Class pMyProc_ResultMetadata

        <Key()> _
        Public Property Alphabet As String


    End Class
End Class
Но как этот класс теперь прикрутить к хп непонятно.

Хотя бы один рабочий пример с вызовом хп из Silverlight через WCF.RIA, чтобы понять как это работает.
...
Рейтинг: 0 / 0
23.09.2010, 08:24
    #36861477
Flint-San
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF RIA. Ищу метод с выборкой из хранимой процедуры в DomainServiceClass
папа арбуз,

вопрос снят, спасибо за помощь! папа арбуз вы правильно описали, что необходимо проделать, но более полный ответ я получил отсюда:

http://forums.silverlight.net/forums/p/168648/399031.aspx

в частности мне помогло в этой теме сообщение от sladapter за 03-19-2010 5:15 PM
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF RIA. Ищу метод с выборкой из хранимой процедуры в DomainServiceClass / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]