我有一个守护程序,可以读取电子邮件地址的收件箱并对电子邮件执行操作。我正在使用 MailKit 通过 IMAP 连接到交换服务器,但 Microsoft 已关闭我们的基本身份验证(凌晨 4 点,没有警告......)。所以我需要一种新的方式来连接到我的邮箱。
使用图表需要对我的应用程序进行重大重写。我打算这样做,但与此同时,我需要一个中间解决方案来保留 MailKit。
我正在尝试创建一个 Vue 组件,该组件将接受一个组件作为参数来显示数据,但我无法弄清楚如何使其工作。如果我全局注册显示组件(使用 Vue.component()),它可以工作,但是如果我在本地注册它,我会收到以下错误:
[Vue warn]: Unknown custom element: <my-link> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
Run Code Online (Sandbox Code Playgroud)
谁能告诉我如何通过本地注册进行这项工作?
主要组件:
<template>
<div>
<my-list :items="items" :renderer="renderer"></my-list>
</div>
</template>
<script>
import MyList from './my-list'
export default {
components: {
'my-list': MyList,
'my-link': {
props: { data: Object },
template: '<span>{{ data.Name }}</span>'
}
},
data() {
return {
items: [
{ id: 1, Name: 'One' },
{ id: 2, Name: 'Two' }
], …Run Code Online (Sandbox Code Playgroud) 我有一个复杂的查询,我在我的代码中多次使用.我用它来获取所有物品或只是一件物品:
from item in _db.Tests ... select getItem(item)
from item in _db.Tests ... where item.Id == id select getItem(item)
Run Code Online (Sandbox Code Playgroud)
我不想重复使用公共部分,只有在实际使用它时才调用"getItem".
我试着创建一个这样的函数:
from item in _db.Tests ...
Run Code Online (Sandbox Code Playgroud)
但编译器抱怨,因为我没有选择.
我还可以创建一个:
private IQueryable<Test> getTests()
{
return from item in _db.Tests ... select item;
}
Run Code Online (Sandbox Code Playgroud)
然后像这样调用它:
from t in getTests() select getItem(t)
Run Code Online (Sandbox Code Playgroud)
但这可能无法利用LINQ能够实现的优化......对吗?
你能帮帮我吗?
编辑
我意识到我的问题更复杂:点(...)实际上是连接,getItem函数使用来自连接的信息并进行一些计算.
此外,我想有一个函数来获取所有项目和一个不同的项目以获取特定项目(我想隐藏查询逻辑与程序的其余部分).
我在想这样做:
private IQueryable<Tuple<Table1, Table2, Table3, Table4>> queryItems()
{
return from t1 in _db.Table1s
join t2 in _db.Table2s on t1.T2ID equals t2.ID into outerT2 from t2 in outerT2.DefaultIfEmpty() …Run Code Online (Sandbox Code Playgroud)