此代码给出的结果不准确,我需要更改它,但我不了解整个代码在做什么。
我阅读了有关defaultifempty及其实现的信息。我阅读了文档,但找不到该问题的答案。
var records = from entity in _db.InventoryDetails
from am in _db.AccountMeters
.Where(am => entity.SerialNumber == (am.SerialNumber ?? am.RemoteId.ToString())).DefaultIfEmpty()
from ac in _db.Accounts
.Where(ac => ac.AccountId == am.AccountId).DefaultIfEmpty()
from i in _db.Inventories
.Where(idd => idd.ProjectId == projectid)
.Where(idd => idd.InventoryId == entity.InventoryId)
from u in _db.Users
.Where(e => e.Id == (entity.InstallerId ?? entity.PrevInstaller)).DefaultIfEmpty()
它不会给出错误,只是查询给出了错误的结果。如果我可以找到与代码等效的sql,那么我可以找出他想做什么,然后找出业务需求并重新编码。
答案 0 :(得分:1)
您可以通过调用from wagtail.core import hooks
from wagtail.admin import widgets as wagtailadmin_widgets
from wagtail.admin.widgets import Button, ButtonWithDropdownFromHook, PageListingButton
@hooks.register('register_page_listing_buttons')
def page_listing_buttons(page, page_perms, is_parent=False):
if page.live and page.url:
yield PageListingButton(
('View live'),
page.url,
attrs={'target': "_blank", 'rel': 'noopener noreferrer', 'title': ("View live version of '{title}'").format(title=page.get_admin_display_title())},
priority=30
)
方法获取由代码生成的SQL代码:
ToString()
答案 1 :(得分:0)
在EF 6及更高版本中,您可以使用
context.Database.Log = Console.Write;
将SQL写入控制台。