以下は、EF4エンティティセット(_catalog
)と別のWCFサービス(CatalogFilesServiceClient
)を使用するWCFサービスです。
private CatalogEntities _catalog = new CatalogEntities();
public IEnumerable<CategoryDC> GetCategories()
{
var catalogFiles = CatalogFilesServiceClient.Create();
var missingFiles = catalogFiles.GetCategoriesMissingFiles();
catalogFiles.Close();
var categoryIDs = missingFiles.Select(i => i.EntityID ?? 0).Distinct();
return from category in _catalog.Categories
orderby category.Order
select new CategoryDC
{
ID = category.ID,
Alpha = category.Alpha,
Name = category.Name,
IsActive = (category.Status == "active"),
Description = category.Description,
Order = category.Order,
IsMissingFiles = (categoryIDs.Contains(category.ID)),
};
}
public CategoryDC GetCategory(int a_nCategoryID)
{
var catalogFiles = CatalogFilesServiceClient.Create();
var missingFiles = catalogFiles.GetCategoriesMissingFiles();
catalogFiles.Close();
var categoryIDs = missingFiles.Select(i => i.EntityID ?? 0).Distinct();
var category = _catalog.Categories.SingleOrDefault(i => i.ID == a_nCategoryID);
return new CategoryDC
{
ID = category.ID,
Alpha = category.Alpha,
Name = category.Name,
IsActive = (category.Status == "active"),
Description = category.Description,
Order = category.Order,
IsMissingFiles = (categoryIDs.Contains(category.ID)),
};
}
CategoryDC
EFを怒らせない方法で作成を繰り返さないようにするにはどうすればよいですか?