【问题标题】:GUID Error, passing GUID from EF to DTOGUID 错误,将 GUID 从 EF 传递到 DTO
【发布时间】:2012-12-24 02:55:48
【问题描述】:

错误: 无法隐式转换类型“System.Guid?”到“System.Guid”。存在显式转换(您是否缺少演员表?) C:\XXX.asmx.cs

无法隐式转换类型“System.Guid?”到“System.Guid”。

 public partial class DOCUMENT
{      
    public Guid DOCUMENT_GUID { get; set; }        
}

return query.Select(x => new DOCUMENT()
            {
                //CORE DOCUMENT                   
                DOCUMENT_GUID = x.DOCUMENT_GUID,
            }).ToList();

【问题讨论】:

    标签: c#-4.0


    【解决方案1】:

    Guid?Nullable<Guid> 的语法糖。看起来你可能需要在这里说.Value

    return query.Select(x => new DOCUMENT()
            {
                //CORE DOCUMENT                   
                DOCUMENT_GUID = x.DOCUMENT_GUID.Value,
            }).ToList();
    

    当然,您可以改为将DOCUMENT.DOCUMENT_GUID 类更改为Nullable<Guid> DOCUMENT_GUID

    【讨论】:

    • 希望魔法酱这么简单..您的解决方案可以编译,但返回:00000000-0000-0000-0000-000000000000 我也尝试过 public Nullable<:system.guid> DOCUMENT_GUID {得到;放; }
    • 很好,我们已经完成了一半。现在我们必须弄清楚为什么代码不起作用。考虑在x =&gt; lambda 表达式上放置一个断点并查看查询真正返回的内容。我怀疑这是现在的问题。
    • agent-j :我的错,查看错误的 WebMethod 调用。您对 .Value 的实施奏效了!检查+!
    • 太棒了!圣诞节和其他节日快乐。
    • agent-j 圣诞快乐,我们其他人节日快乐
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2015-12-20
    • 1970-01-01
    相关资源
    最近更新 更多