2

ねえ、私は次のクエリを持っています

    public int GetDefaultCurrencyForOrganization(string organizationId)
    {
        return (from a in _dataContext.allocations
                where a.organizationId.Equals(organizationId)
                select a.currencyId).SingleOrDefault();
    }

これは多くの企業にとって何も返さない可能性があります。これは、返される値を 4 に設定したかったためです。どうすればそれを上記に追加できるのだろうか?

4

2 に答える 2

2

私はあなたがこのようなものを探していると思います:

public int GetDefaultCurrencyForOrganization(string organizationId)
{
    return (from a in _dataContext.allocations
            where a.organizationId.Equals(organizationId)
            select (int?)a.currencyId).SingleOrDefault() ?? 4;
}

これを行うこともできます:

public int GetDefaultCurrencyForOrganization(string organizationId)
{
    var alloc = _dataContext.allocations
        .SingleOrDefault(a => a.organizationId.Equals(organizationId));
    return alloc != null ? alloc.currencyId : 4;
}
于 2013-06-20T19:02:02.340 に答える
2

値を指定するには、SingleOrDefault の代わりに DefaultIfEmpty(4) を試してください。

public int GetDefaultCurrencyForOrganization(string organizationId)
{
    return (from a in _dataContext.allocations
            where a.organizationId.Equals(organizationId)
            select a.currencyId).DefaultIfEmpty(4).Single();
}

http://msdn.microsoft.com/en-us/library/bb355419.aspx

于 2013-06-20T19:02:25.287 に答える