我想使用DBContext SqlQuery执行原始sql,然后包含相关的entites.我尝试了以下但它没有加载相关的实体:
string sql = "Select * from client where id in (select id from activeclient)";
var list = DbContext.Database.SqlQuery<Client>(sql).AsQueryable().Include(c => c.Address).Include(c => c.Contactinfo).ToList();
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
我看过很多关于在c#中为word文档设置打印机托盘的帖子.我需要一个Excel解决方案.
如果可能,为任何文档提供更好的解决方案.某种方法我可以传递文件路径和托盘.
编辑 到目前为止,我已经尝试了以下内容,但在打印机设置中没有进行任何可见的更改.
PrinterSettings ps = new PrinterSettings();
ps.PrinterName = @"\\localhost\HP-4515n";
var dps = ps.DefaultPageSettings;
dps.PaperSource.RawKind = 260;
Run Code Online (Sandbox Code Playgroud)
要么
PrinterSettings ps = new PrinterSettings();
ps.PrinterName = @"\\localhost\HP-4515n";
PaperSource psrc = new PaperSource();
psrc.RawKind = 260;
psrc.SourceName = "unknown";
dps.PaperSource = psrc;
Run Code Online (Sandbox Code Playgroud)
编辑2
我正在硬编码RawKind,因为托盘在某些方面没有显示在papersources中.
目前,当我打印例如.Excel文档我显示PrinterDialog,获取所选打印机的名称并将其传递给interop Excel活动打印机属性.但现在我需要打印大量的文档,我需要以编程方式设置所选的打印机及其属性特别是托盘.
假设我有以下课程:
Class MainClass
{
private OtherClass1;
MainClass()
{
OtherClass1 = new OtherClass1();
}
void dispose()
{
OtherClass1 = null;
}
}
class OtherClass1
{
private OtherClass2;
OtherClass1()
{
OtherClass2 = new OtherClass2();
}
}
class OtherClass2
{
}
Run Code Online (Sandbox Code Playgroud)
如果我实例化MainClass并稍后调用dispose方法,那么OtherClass1是否会被垃圾收集(稍后)?或者我是否首先清除对OtherClass2的引用?
我有这个有2列的表:
ID, TypeID
Run Code Online (Sandbox Code Playgroud)
每个ID可以有多个TypeID.在查询结果中,我想要具有以下内容:
ID, Count(TypeID = 10), Count(TypeID = 20 or 30), Count(TypeID 40 and 50)
Run Code Online (Sandbox Code Playgroud)
查询本身应该尽可能快/高效.可以帮忙吗?