LINQ查询在非可空字段上返回nulll

时间:2017-08-28 09:39:10

标签: c# mysql linq

在我的代码上,我一直在使用Linq来访问我的数据库中的数据,但是有一个Table它在哪里工作。该表有几个字段:

ID => string, not nullable
Name => string, not nullable
Date => DateTime, not nullable
UserID => string, not nullable.

当我使用查询尝试获取这些数据时,我的每个字段都返回正确的数据,除了一个:UserID,它将始终返回null,无论是什么?在它。

我的疑问是:

using(ProgetEntities pg = ProgetEntities()){
   List<Alloc> ListAlloc = new List<Alloc>();
   ListAlloc = pg.Allocations.ToList();
}

我的Alloc属性:

public partial class Alloc
{
    public string ID { get; set; }
    public string Name { get; set; }
    public Nullable<System.DateTime> Date { get; set; }
    public string UserID { get; set; }
}

我在我的查询中尝试过使用AsEnumerable,但结果是一样的。

之前有没有发生过这样的问题?还有其他人对我如何解决这个问题有所了解吗?

修改

通过查看查询,我发现了问题(我不知道为什么会这样做,并且很快就会查看),那么查询(来自调试器):

pg.Alloc    {SELECT 
[Extent1].[ID] AS [ID], 
[Extent1].[NAME] AS [NAME], 
[Extent1].[DATE] AS [DATE], 
FROM [dbo].[Alloc] AS [Extent1]}    
System.Data.Entity.DbSet<ClassGetMS.Models.Alloc>

我的查询似乎不包含UserID字段。

1 个答案:

答案 0 :(得分:0)

答案很简单,属性没有正确映射,所以我进入.edmx模型,并手动添加,现在一切正常。