«Исправить» следует добавить это в config.ini
в разделе [pgbouncer]
:
ignore_startup_parameters = extra_float_digits
Подробности здесь: https://github.com/Athou/commafeed / вопросы / 559
Можно использовать анонимные типы для этого, т.е.:
var pageObject = (from op in db.ObjectPermissions
join pg in db.Pages on op.ObjectPermissionName equals page.PageName
where pg.PageID == page.PageID
select new { pg, op }).SingleOrDefault();
Это превратит pageObject в IEnumerable анонимного типа так AFAIK, Вы не будете в состоянии раздать его к другим методам, однако при простом получении данных для игры с в методе, Вы в настоящее время находитесь в, он прекрасно подходит. Можно также назвать свойства в анонимном типе, т.е..:-
var pageObject = (from op in db.ObjectPermissions
join pg in db.Pages on op.ObjectPermissionName equals page.PageName
where pg.PageID == page.PageID
select new
{
PermissionName = pg,
ObjectPermission = op
}).SingleOrDefault();
, который Это включит Вам к say:-
if (pageObject.PermissionName.FooBar == "golden goose") Application.Exit();
, Например:-)
Если Вы не хотите использовать анонимные типы b/c скажем, Вы передаете объект другому методу, можно использовать опцию загрузки LoadWith для данных, связанных с загрузкой. Это требует, чтобы Ваши таблицы были связаны или через внешние ключи или в Вашей модели Linq к SQL dbml.
db.DeferredLoadingEnabled = false;
DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<ObjectPermissions>(op => op.Pages)
db.LoadOptions = dlo;
var pageObject = from op in db.ObjectPermissions
select op;
// no join needed
Тогда можно звонить
pageObject.Pages.PageID
В зависимости от того, на что похожи данные, Вы, вероятно, хотели бы сделать это наоборот,
DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<Pages>(p => p.ObjectPermissions)
db.LoadOptions = dlo;
var pageObject = from p in db.Pages
select p;
// no join needed
var objectPermissionName = pageObject.ObjectPermissions.ObjectPermissionName;