我有这个域名对象:
public class Society {
public virtual int IdSociety { get; set; }
public virtual string NameSociety { get; set; }
}
public class Activity {
public virtual int IdActivity { get; set; }
public virtual IEnumerable<ExaminatedProcess> Processes
}
public class ExaminatedProcess {
public virtual ProcessSociety ProcessCoperto { get; set; }
public virtual int Year { get; set; }
}
public class ProcessSociety {
public override int Id { get; set; }
public virtual Society SocietyOwner { get; set; }
public virtual Society SocietyService { get; set; }
}
public class Process {
public virtual int Id { get; set; }
public virtual string NameProcess { get; set; }
public virtual IEnumerable<ProcessSociety> SocietyActivated
}
我希望Process
Activity
NameProcess
,SocietyOwner.NameSociety
和SocietyService.NameSociety
每次Process
使用QueryOver或LinqToNHibernate从db中提取
所以我认为:
我必须从SocietyActivated
开始,让那些在Processes
中的Activity
ProcessCoperto
ProcessSociety ps = null;
var elencoPS = att.Processes.Select(p => p.ProcessCoperto).ToList<ProcessSociety>();
var a = _session.QueryOver<Process>()
.JoinAlias(Process => Process.SocietyActivated, () => ps)
.WhereRestrictionOn(Process => ps.Id).IsIn(elencoPS.Select(el => el.Id).ToList())
.Select(Projections.Property(() => ps.SocietyOwner.NameSociety),
Projections.Property(() => ps.SocietyService.NameSocietyBreve))
.List();
集合中的人看到每个元素的ExaminatedProcess
属性这个集合
this问题我解决了第一个问题并到达:
var d = (
from p in _session.Query<Processo>()
from actin _session.Query<Activity>()
from pe in _session.Query<ExaminatedProcess>()
where act.Processes.Contains(pe)
&& p.SocietyActivated.Contains(pe.ProcessoCoperto)
select new {p.NomeProcesso, pe.ProcessoCoperto.SocietyOwner.Name}
).ToList();
但现在我的问题是如何添加Runnable mStatusChecker = new Runnable() {
@Override
public void run() {
try{
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
downloadusernamelist();
isInternetWorking();
syncDataSftp();
}finally {
mHandler.postDelayed(mStatusChecker, mInterval);
}}};
我发现像this这样的类似问题,但仍然适用于hql,我希望在4年后找到更好的方法
修改
我甚至以这种方式尝试:
client,err :=elasticsearch.NewClient(elasticsearch.ClientSettings{URL:host,Index:indexSel,Username: username,Password: password,Timeout: 60 * time.Second,}, nil)
if err != nil {
log.Fatal(err)
}
params := map[string]string{
"q": "_id:"+maref,
}
_, resp, err := client.SearchURI(index, "", params)
if err != nil {
log.Fatal(err)
return
} else {
fmt.Println(string(resp))
}
但没有找到结果并且查找日志没有对db执行查询