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

Легко это делаю через стандартный 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
WCF RIA. Ищу метод с выборкой из хранимой процедуры в DomainServiceClass
    #36861003
Фотография папа арбуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
WCF RIA. Ищу метод с выборкой из хранимой процедуры в DomainServiceClass
    #36861088
Flint-San
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я извиняюсь, но все равно не понимаю,
как протолкнуь ХП из 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
WCF RIA. Ищу метод с выборкой из хранимой процедуры в DomainServiceClass
    #36861477
Flint-San
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
папа арбуз,

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

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

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


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