Если я правильно понимаю, вы хотите использовать данный идентификатор, чтобы найти продукт, единицу или страну, но вы не уверены, какая именно. Если это так, то вы можете создать отложенные запросы, например, чтобы найти заданную сущность:
var prod = from p in db.Products
where p.ProductId = id
select new { Id = p.ProductId, Name = p.ProductName, Modified = p.UpdatedBy };
var unit = from u in db.Units
where p.UnitId = id
select new { Id = u.UnitId, Name = u.UnitName, Modified = p.UpdatedBy };
var ctry = from c in db.Countries
where c.CountryId = id
select new { Id = c.CountryId, Name = c.CountryName, Modified = c.UploadBy };
И затем выполняйте запросы, пока не найдете подходящую сущность (при этом ??
является оператором null-coalesce, который возвращает правильное значение, если левый результат null
).
var res = prod.SingleOrDefault() ??
unit.SingleOrDefault() ??
ctry.SingleOrDefault() ??
new { Id = id, Name = null, Modifed = null };