首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法让EF7 (实体框架7 Beta-7)返回数据

无法让EF7 (实体框架7 Beta-7)返回数据
EN

Stack Overflow用户
提问于 2015-10-04 14:54:44
回答 2查看 201关注 0票数 2

我有EF7设置和编译,没有错误,而且我可以知道它正在向服务器发送SELECT命令,但是返回的数据总是为null。

我不使用DI,只在代码中设置EF。

上下文:

代码语言:javascript
复制
public class ApContext : DbContext
{
    public DbSet<FirmHdr> FirmHdr { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer("Server=azuresql.database.windows.net;Database=psAP;uid=xxxx;pwd=xxxx;");
    }
}

型号:

代码语言:javascript
复制
public class FirmHdr
{
    [Key]
    public Guid GID { get; set; }
    public DateTime DateModified { get; set; }
    public string FirmCode { get; set; }
    public string FirmName { get; set; }
    public DateTime DateStart { get; set; }
    public decimal BaseAmt { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string Zip { get; set; }
    public string Phone { get; set; }
    public string Contact { get; set; }
    public string eMail { get; set; }
    public string FirmAdmin { get; set; }
    public string AdminPassword { get; set; }
}

获取方法:

代码语言:javascript
复制
public class ioEF7
{
    public List<FirmHdr> GetFirms()
    {
        using (var db = new ApContext())
        {
            var firms = from fx in db.FirmHdr orderby fx.FirmName select fx; //db.FirmHdr.ToList();
            var lfirms = firms.ToList();
            return lfirms;
        }

    }
}

无论我如何尝试,公司总是空的。任何帮助都将不胜感激!

来自Server的跟踪:

代码语言:javascript
复制
    SELECT [fx].[GID], [fx].[Address1], [fx].[Address2], [fx].[AdminPassword], [fx].[BaseAmt], [fx].[City], [fx].[Contact], [fx].[DateModified], [fx].[DateStart], [fx].[FirmAdmin], [fx].[FirmCode], [fx].[FirmName], [fx].[Phone], [fx].[State], [fx].[Zip], [fx].[eMail]
    FROM [FirmHdr] AS [fx]
    ORDER BY [fx].[FirmName]

SQL Manager中返回的数据:

代码语言:javascript
复制
    7e699f55-167e-41d8-b4d8-97d0ebd44da9    NULL    NULL    SOBHOST NULL    NULL    THIS IS A SPECIAL ACCOUNT ONLY FOR HOST ADMINS  2014-11-02 13:25:46 2014-11-02  SOB 0HOST   HOST SETUP ACCOUNT  NULL    NULL    NULL    NULL
    a96af7a2-5cf2-47f2-863c-7dc43bdd6a6a    NULL    NULL    NULL    100.0000    NULL    NULL    2014-11-20 21:40:51 2014-11-20  NULL    JOHNS   JOHNS FIRM  PHONE   NULL    NULL    NULL
    0094823d-ec85-4259-a094-3162673dcfd9    123 MAIN STREET STE 100       ADMINPASS 100.0000    MOBILE  JOHN SMITH  2014-11-01 17:50:57 2014-10-08  ADMIN   A456    SMITH & SMITH   251-345-6789    AL  36608   jsmith@smith.com
    f607a45d-71bb-4f73-ac49-858471ac67ae    NULL    NULL    PASS    NULL    NULL    NULL    2014-11-10 15:36:30 2014-11-10  ADMIN   TESTFIRM    TEST FIRM LLC   NULL    NULL    NULL    NULL
    9d8ec948-35e3-4daf-8523-feeec1252993    ADDRESS 1   ADDRESS 2   SOBPASS 83.3333 CITY    CONTACT 2014-11-01 14:21:26 2014-10-30  SOB A123    TEST FIRM NAME  123-456-7890    STATE   ZIP CODE    email@mydomain.com

因此,我可以使用EF发送给服务器的确切SQL语句来获取数据,而不是在我的应用程序中。

EN

回答 2

Stack Overflow用户

发布于 2015-10-05 15:47:50

检查表列类型和POCO类是否匹配。例如,如果BaseAmt的列可以为null,则匹配的CLR类型应该是decimal?而不是decimal

票数 1
EN

Stack Overflow用户

发布于 2015-10-06 00:01:29

你在钱上是对的!我将其降级为EF6,并在十进制字段中得到一个空错误,所以我更正了模型,现在所有的操作都在进行。在EF7中从来没有收到过这样的信息。

以下是修正后的模型:

代码语言:javascript
复制
        public class FirmHdr
{
    [Key]
    public Guid GID { get; set; }
    public DateTime? DateModified { get; set; }
    public string FirmCode { get; set; }
    public string FirmName { get; set; }
    public DateTime? DateStart { get; set; }
    public decimal? BaseAmt { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string Zip { get; set; }
    public string Phone { get; set; }
    public string Contact { get; set; }
    public string eMail { get; set; }
    public string FirmAdmin { get; set; }
    public string AdminPassword { get; set; }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32934810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档