C# Linq到SQL选择新模式

C# Linq到SQL选择新模式,c#,sql,linq,C#,Sql,Linq,是否可以使用该模式执行一个查询来检索多个数据库值 我有一个视图模型调用:FreemimumViewModel。在视图模型中,我有: public class FreemiumViewModel { public FreemiumViewModel() { Skus = new HashSet<StockKeepingUnit>(); Features = new HashSet<Feature>(); Row

是否可以使用该模式执行一个查询来检索多个数据库值

我有一个视图模型调用:FreemimumViewModel。在视图模型中,我有:

public class FreemiumViewModel
{
    public FreemiumViewModel()
    {
        Skus = new HashSet<StockKeepingUnit>();
        Features = new HashSet<Feature>();
        RowValues = new Dictionary<string, object>();
        ColumnTitles = new List<string>();
        CanUsePromoCode = true;
        SelectionMatrix = new HashSet<FeatureStockKeepingUnitViewModel>();
    }

    public ICollection<Feature> Features { get; set; }
    public ICollection<StockKeepingUnit> Skus { get; set; }
    public ICollection<FeatureStockKeepingUnitViewModel> SelectionMatrix { get; set; }
    public UserProfile UserProfile { get; set; }
    public UserSubscriptionViewModel UserSubscriptionViewModel { get; set; }
    public bool CanUsePromoCode { get; set; }
    public string PromotionalCode { get; set; }
    /// <summary>
    /// StockKeepingUnit name
    /// </summary>
    public List<string> ColumnTitles { get; set; }
    /// <summary>
    /// Key is the feature row title and object is the stock column value.
    /// </summary>
    public Dictionary<string, object> RowValues { get; set; }
}

我尝试对多个数据库执行一个请求,但我没有我的SKU和功能集合。您能帮助我吗?

鉴于您正试图将每个集合的全部内容选择到viewmodel中,因此不需要linq表达式。您可以直接新建viewmodel,即:

   var viewmodel = new FreemiumViewModel
   {
        Skus = Context.Instance.StockKeepingUnits.ToList(),
        Features = Context.Instance.Features.ToList()
        ...
   };

对于viewmodel中的集合,看起来您正在尝试从数据库加载每个集合的全部内容,而不应用任何过滤器。这就是你想做的吗?是的,这就是我需要的。
   var viewmodel = new FreemiumViewModel
   {
        Skus = Context.Instance.StockKeepingUnits.ToList(),
        Features = Context.Instance.Features.ToList()
        ...
   };