我有一个名为AssetSearchModel的ViewModel,其属性类型为:List.
当我从ViewModel发布时,我的List的所有属性都成功绑定回模型,除了这个:public DomainsDto DomainControl { get; set; }在底部定义.
那个domaincontrol有几个属性,然后是它自己的嵌套列表......它的所有属性都没有设置,它们都是null
public class AssetSearchModel
{
public List<SearchControlModel> SearchControls { get; set; }
public AssetSearchModel()
{
}
}
public class SearchControlModel
{
/// <summary>
/// Asset identifier.
/// </summary>
[DisplayName("AssetId ID")]
public int SearchOptionID { get; set; } // this gets bound ok
[DisplayName("Asset Customer ID")]
public int AssetCustomerID { get; set; } // this gets bound ok
[DisplayName("Portal ID")]
public int PortalID { get; set; } // this gets bound …Run Code Online (Sandbox Code Playgroud) 我有这个查询,它从表中选择了很多用户记录.这个代码块从我的本地/调试机器需要16秒(在生产中更像是5).为了提高效率,我所做的任何事情都会使方法返回结果所花费的时间增加一倍.我试过的其他事情的例子如下.我不明白如何选择一个匿名类型并且通过匿名类型迭代的额外中间部分可能比没有更快.
这个块需要16秒:
List<BoAssetSecurityUser> userList = new List<BoAssetSecurityUser>();
using (var context = DataObjectFactory.CreateContext())
{
var query = from ui in context.User_Information
where (ui.AssetCustomerID == 1 &&
(ui.GlobalID != "1TPTEMPUSER" ||
ui.GlobalID == null))
select new { ui };
var result =
from q in query
select new
{
UserId = q.ui.UserID,
FirstName = q.ui.FirstName,
LastName = q.ui.LastName,
UserName = q.ui.Username,
Globalid = q.ui.GlobalID
};
foreach (var user in result)
{
BoAssetSecurityUser boAssetSecUser = new BoAssetSecurityUser();
boAssetSecUser.UserId = user.UserId;
boAssetSecUser.FirstName = user.FirstName; …Run Code Online (Sandbox Code Playgroud)