Error: El valor nulo no se puede asignar a un miembro con el tipo System.Int32, que es un tipo de valor que no admite nulos. El programa se bloquea aquí:LINQ: System.Int32 es un tipo de valor que no admite nulos
Nullable<Int32> maxTagFrequency = (from t in tagSummary select t.tagCount).Max();
Es extraño, porque he declarado que la variable puede contener nulos, int? maxTagFrequency no funciona bien ...
Todo el LINQ consulta:
private void BindTagCloud()
{
int pro_id = Convert.ToInt32(proj_id);
var tagSummary = from af in db.AgileFactors
join psf in db.ProjectStoryFactors on af.AgileFactorID equals psf.AgileFactorID
join s in db.Stories on psf.StoryID equals s.StoryID
join pim in db.ProjectIterationMembers on s.ProjectIterationMemberID equals pim.ProjectIterationMemberID
join it in db.Iterations on pim.ProjectIterationID equals it.ProjectIterationID
join pro in db.Projects on it.ProjectID equals pro.ProjectID
where pro.ProjectID == pro_id &&
pro.ProjectID == it.ProjectID &&
it.ProjectIterationID == pim.ProjectIterationID &&
pim.ProjectIterationMemberID == s.ProjectIterationMemberID &&
s.StoryID == psf.StoryID &&
psf.AgileFactorID == af.AgileFactorID
group af by af.Name into tagGroup
select new
{
Tag = tagGroup.Key,
tagCount = tagGroup.Count()
};
Nullable<Int32> maxTagFrequency = (from t in tagSummary select t.tagCount).Max();
var tagCloud = from af in db.AgileFactors
join psf in db.ProjectStoryFactors on af.AgileFactorID equals psf.AgileFactorID
join s in db.Stories on psf.StoryID equals s.StoryID
join pim in db.ProjectIterationMembers on s.ProjectIterationMemberID equals pim.ProjectIterationMemberID
join it in db.Iterations on pim.ProjectIterationID equals it.ProjectIterationID
join pro in db.Projects on it.ProjectID equals pro.ProjectID
where pro.ProjectID == pro_id &&
pro.ProjectID == it.ProjectID &&
it.ProjectIterationID == pim.ProjectIterationID &&
pim.ProjectIterationMemberID == s.ProjectIterationMemberID &&
s.StoryID == psf.StoryID &&
psf.AgileFactorID == af.AgileFactorID
group af by af.Name into tagGroup
select new
{
Tag = tagGroup.Key,
weight = (double)tagGroup.Count()/maxTagFrequency * 100
};
ListView1.DataSource = tagCloud;
ListView1.DataBind();
}
posible duplicado de [consulta de Linq con problema de suma anulable] (http://stackoverflow.com/questions/696431/linq-query-with-nullable-sum-problem) – RichardTheKiwi
Todavía no puedo arreglar el problema . – MiziaQ