我有以下SQL查询返回我需要的结果:
mysqldump -h ${HOST} -u ${USER} -p${PASSWORD} $1"temp" | gzip > $2
我有以下控制器方法尝试返回正确的结果:
mysql -e "DROP DATABASE IF EXISTS $1anom" -h ${HOST} -u ${USER} -p${PASSWORD} $1"temp"
但是,我在Lambda表达式上苦苦挣扎,它没有返回任何结果,因此我错过了某些地方。
答案 0 :(得分:1)
您可以尝试以下操作:
public JsonResult GetStaffResults(DateTime date, string modelId)
{
Guid modelGuid = Guid.Parse(modelId);
var settings = new JsonSerializerSettings();
var staffQuery = context.StaffTable
.Where(s => !context
.StaffingTable
.Any(st => st.StaffId = s.StaffId && st.modelId == modelGuid && st.date == date))
.Select(c => new
{
Id = c.StaffId,
Name = c.StaffName
});
return Json(staffQuery.ToList(), settings);
}
答案 1 :(得分:0)
您正在使用Select
进行单独的查询,这存在性能问题,因为查询将返回IEnumerable<T>
对象。如果您要使用单独的查询,请尝试以IQueryable<T>
的形式获取查询结果,这将构成查询并最终加载数据。
例如:
var query =
from st in context.StaffTable
where !(from stff in context.StaffingTable
select stff.CustomerID)
where stff.MODEL_ID = ModelIdVariable AND stff.DATE = DATEVariable
.Contains(st.CustomerID)
select st;
在查询之前声明并填充ModelIdVariable
和DATEVariable
变量。
然后您可以在需要加载数据的地方进行query.ToList<T>()
。