Невозможно использовать методы из класса службы домена в WCF Ria? - PullRequest
0 голосов
/ 15 февраля 2012

Я пытаюсь создать приложение silverlight, которое берет имя пользователя, фамилию, пароль, адрес электронной почты в текстовые поля и затем добавляет их в базу данных.

Для этого я использую WCF Ria Services.

Шаги, которые я выполнил:

Добавлено ADO.NET Entity Data Model, а затем Domain Service class в моем проекте (в веб-части).

Теперь у меня есть несколько предопределенных методов вмой класс DomainService, такой как методы вставки, обновления.Я знаю, как отображать данные в DataGrid, но это не то, что я хочу.

Я хочу настроить все это для:

Когда пользователь нажимает кнопку отправки, тогдадолжен быть метод внутри этого типа AddInfo(all parameters), который может добавить все данные в базу данных моего сервера sql {в настоящее время LocalHost}.

Простыми словами доступ к вашей базе данных с помощью пользовательских методов для добавления данныхв SQL Server с использованием WCF Ria Services

Я знаю, это было очень просто при работе в формах .net и все.Но как насчет Silverlight & WCF ria?

Пожалуйста, предложите.

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Простыми словами доступ к вашей базе данных с помощью пользовательских методов для добавления данных в sql server с использованием WCF Ria Services

Что вам нужно сделать, это написать собственный метод на стороне сервера.

На стороне сервера у вас есть класс DomainService, который должен наследоваться от LinqToEntitiesDomainService<TContext>.

Просто добавьте метод в этот класс с атрибутом Invoke,например:

[Invoke]
public void AddNewUser(string name, string firstName, int age)
{
    // Put logic here to add the user to the DB
}

Логика добавления пользователя в базу данных очень проста, просто создайте новый Entity, добавьте его в контекст и вызовите context.SubmitChanges();

Когдавы компилируете клиентский проект RIA Services, автоматически сгенерированный прокси-класс, соответствующий вашему DomainService, будет содержать ваш новый метод, и вы сможете вызывать его, используя:

yourDomainContext ctx = new yourDomainContext();
ctx.AddNewUser("dsd", "ds", 42).Completed += (sender, e) =>
{
     // Called asynchronously when the job is done
};
1 голос
/ 15 февраля 2012

Если у вас уже есть метод Insert в вашей доменной службе, вы сможете позвонить с клиента:

//add your new data to the context
MyDomainServiceContext.Entity.Add(myEntity); //(where "Entity" is your entity Type)
//send all the changes to the server
MyDomainServiceContext.SubmitChanges();
...