Итак, я поигрался с .NET RIA Services с Silverlight и создал новый DomainService на основе пары сущностей из LINQ2SQL DataContext.
Когда я попытался скомпилировать, я получил эту ошибку:
Ошибка 2 Для объекта Data.Service не определен ключ. Сущности, предоставляемые операциями DomainService, должны иметь хотя бы одно свойство, помеченное атрибутом KeyAttribute. Портал
Итак, я добавил класс метаданных для объекта Service, например:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace Data
{
[MetadataType(typeof(Service.ServiceMetadata))]
public partial class Service
{
internal sealed class ServiceMetadata
{
[Key]
public int PublicAPI;
}
}
}
Теперь я получаю эту ошибку:
Ошибка 4 Связанный тип метаданных для типа Data.Service содержит следующие неизвестные свойства или поля: PublicAPI. Убедитесь, что имена этих членов совпадают с именами свойств основного типа. Портал
PublicAPI определенно определен в основном объекте, генерируемом L2S, пространства имен такие же. Есть идеи относительно того, что я делаю неправильно?
Я понимаю, что службы .NET RIA по-прежнему являются CTP, но это похоже на фундаментальную часть инфраструктуры, которая должна работать.