var userDomain = (from a in this.db.DomainList.ToList()
join b in this.db.UserDomain.ToList() on a.DomainId equals b.UserDomainId
where b.UserId == new System.Guid(user.ProviderUserKey.ToString())
select new
{
a.DomainId,
a.DomainName
}).FirstOrDefault();
string userDomainName = (userDomain.DomainName ?? "None").ToString(CultureInfo.InvariantCulture);
I have the above sample code. When userDomain is null, i want to set userDomainName varibale to "None" else if userDomain is not null, userDomainName variable should be set to userDomain.DomainName
I have tried below line of code
string userDomainName = (userDomain.DomainName ?? "None").ToString(CultureInfo.InvariantCulture);
but that does't work as it throws error
Object reference not set to an instance of an object.
if userDomain is null.

Yes, if userDomain is null, then
userDomain.DomainName
will fail.
In C# 6, you can get over this with the null conditional operator:
string userDomainName = userDomain?.DomainName ?? "None";
Before C# 6, you need:
string userDomainName =
(userDomain == null ? null : userDomain.DomainName) ?? "None";
That's assuming it's possilble for userDomain to be non-null and userDomain.DomainName to be null - if it's not, you could just use:
string userDomainName = userDomain == null ? "None" : userDomain.DomainName;
Note that you don't need the ToString part - calling ToString(CultureInfo.InvariantCulture) on a string will never change it.
See more on this question at Stackoverflow