2

null exception2番目のSelectステートメントで不思議になります。

public static string GetSNFromDeviceMacAddress(string macAddress)
{
    string commzSerialNumber = null;
    var dbFactory = EndpointHost.AppHost.TryResolve<IDbConnectionFactory>();
    try
    {
        OrmDataLib.Device device;
        OrmDataLib.Commz commz;
        using (var db = dbFactory.OpenDbConnection())
        {
            // first select works fine
            device = db
                .Select<OrmDataLib.Device>(q => q.MacAddress == macAddress)
                .FirstOrDefault();
            if (null != device)
            {
                // mysterious null exception
                commz = db
                    .Select<OrmDataLib.Commz>(c => c.Id == device.Commz_Id)
                    .FirstOrDefault();
                if (null != commz)
                    commzSerialNumber = commz.SerialNumber;
            }
        }
    }
    catch { }
    return commzSerialNumber;
}
4

1 に答える 1

1

受信 DTO は null 値を許可するはずでしたが、許可しなかったことが判明しました。

プロパティ、

Commz.Site_id宣言されました:

public int Site_id { get; set; }

そして、次のように宣言されている必要があります。

public int? Site_id { get; set; }
于 2013-01-04T20:59:16.580 に答える