public partial class Product
{
public Product()
{
this.ProductPrimaryPrices = new HashSet<ProductPrimaryPrice>();
this.ProductSecondaryPrices = new HashSet<ProductSecondaryPrice>();
}
public int ProductId { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public byte[] Image { get; set; }
public virtual ICollection<ProductPrimaryPrice> ProductPrimaryPrices { get; set; }
public virtual ICollection<ProductSecondaryPrice> ProductSecondaryPrices { get; set; }
}
をのみ選択したマスタテーブルの列とディテール表のすべての列を選択するために、どのように、私はProductId
、Code
、Name
、およびDescription
Product
実体のを選択したいとProductPrimaryPrices
のすべての関連プロパティおよびProductSecondaryPrice
、データベースから画像byte[]
アレイをロードするのに時間がかかるためです。 Product
エンティティから選択した列と、ProductPrimaryPrice
とProductSecondaryPrices
のすべての列のみが必要です。上記のコードからのLINQ
私はすでに次のような匿名のタイプで試していますが、匿名のタイプをProduct
に戻す方法に苦労しています。
var tempProduct = (from p in ctx.Products.Include("ProductPrimaryPrices").Include("ProductSecondaryPrices")
select new
{
ProductId = p.ProductId,
Code = p.Code,
Name = p.Name,
Description = p.Description,
ProductPrimaryPrices = p.ProductPrimaryPrices,
ProductSecondaryPrices = p.ProductSecondaryPrices
}
).ToList();
誰でもお手伝いできますか?
あなたは '新製品{...}を選択し'とそこにそのプロパティを設定することができますに匿名型を変換する方法です。正直言って私は、よりクリーンな長期的な解決策は、バイト配列を 'Product'のサブオブジェクトとして別のテーブルに移動し、そのプロパティを遅延ロードすることだと思います。 – David
'Product'エンティティの完全なデータがないので、匿名型をどのように' Product'に変換することができないのか分かりません。最終的に 'Product'エンティティを更新するためにこのデータを(匿名型で)使用するつもりですか?あなたは正確に何を達成しようとしていますか? – STLDeveloper
ありがとう、@あなたのコメントのためのDavid。私は既に 'new product {...} 'を選択しようとしましたが、'エンティティまたは複合型' Product 'をLINQ to Entitiesクエリで構築することはできません。また、バイト配列を別のテーブルに移動することは本当に良い考えです。 –