我的Angular2 RC6应用程序有两个模块,我不确定如何声明共享组件。
我有一个名为spinnerComponent的组件,该组件将在整个应用程序中使用。我在app.modules.as中定义了它:
@NgModule({
imports: [BrowserModule, routing,RepairReturnModule],
providers: [ ],
declarations: [AppComponent,SpinnerComponent],
bootstrap: [AppComponent]
})
Run Code Online (Sandbox Code Playgroud)
然后在RepairreturnModule中,再次将其定义为:
@NgModule({
imports: [CommonModule],
declarations: [
SpinnerComponent
],
providers: []
})
Run Code Online (Sandbox Code Playgroud)
如预期的那样,我得到:
类型SpinnerComponent是2个模块的声明的一部分:RepairReturnModule和AppModule
我从RepairreturnModule的声明中删除了SpinnerComponent,然后得到:
未处理的承诺拒绝:模板解析错误:由于它不是'spinner-component'的已知属性,因此无法绑定到'isRunning'。1.如果“ spinner-component”是Angular组件,并且具有“ isRunning”输入,则请验证它是否是此模块的一部分。2.如果“ spinner-component”是Web组件,则将“ CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“ @ NgModule.schema”以禁止显示此消息。表示未声明。
我想念什么?
我正在创建一个Entity Framework 7项目来替换Entity Framework 6项目.
我有一个属于一个国家的Item实体.然后我有一个linq查询,按国家/地区获取计数.这是查询.
var results = allItems
.GroupBy(g => g.Country)
.ToDictionary(s => s.Key, s => s.Count());
Run Code Online (Sandbox Code Playgroud)
这适用于EF6,但抛出了EF 7的异常(例外情况在底部).
这是我的实体:
public class Item
{
[Key]
public int id { get; set; }
[Required]
public int Countryid { get; set; }
[ForeignKey("Countryid")]
public virtual Country Country { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在EF 7中,使用调试器,我看到Country为null(这是导航属性),但我确实有countryid.在EF 6中,我有一个导航属性的对象.另外,我使用Moq进行单元测试并且它们可以工作(显示nav属性).
我试图添加一个包含但我不应该这样做.我不需要在EF 6或Mock中使用它.
使用include给出:
var results = allItems
.Include(i => i.Country)
.GroupBy(g => g.Country)
.ToDictionary(s => s.Key, s => s.Count());
Run Code Online (Sandbox Code Playgroud)
我犯了同样的错误.
这是错误:
方法'System.Collections.Generic.IEnumerable 2 ' 的类型'System.Func …
我们需要将现有项目从数据库优先迁移到代码优先。每个环境(DEV、TEST、PROD)的数据库版本略有不同。差异在于 DEV 中的更改可能尚未推送到 TEST 和 PROD。
--
我们使用实体框架 6.1.3。
我们有一个部署数据库的数据库项目。发布操作将数据库与项目进行比较,并构建脚本以根据需要更改数据库。我们有一个带有 edmx 图的模型项目。我们从数据库更新 edmx,这会根据数据库中的表生成实体。
我们正在用代码优先项目替换模型项目(带有 edmx)。数据库项目将消失,我们新的代码优先项目将进行迁移。
--
我们使用 EF PowerTools 对数据库进行逆向工程并创建模型。然后我们创建一个迁移并添加创建数据库所需的语句。但是,当我们更新数据库时,它会崩溃,因为表已经存在。接下来,我们创建了一个忽略更改的迁移。现在 update-database 什么也不做。这很好,因为一切都已经存在。但是如果我需要部署到新的空数据库会发生什么?它不会创建任何这些对象。
让事情变得复杂的是,从 DEV 中的逆向工程中提取的一些对象不在 TEST 中。并且 TEST 中的某些表可能在 DEV 中发生了更改。那么 PROD 也可能会有所不同。
--
我们怎样才能从数据库优先过渡到代码优先,同时仍然拥有一个适用于所有环境并可以构建独立数据库的可靠流程?
entity-framework ef-code-first ef-database-first entity-framework-6 entity-framework-migrations
我正在创建一个将使用 webApi 的 Angular2 应用程序。处理配置数据的最佳实践是什么?我想要一种在部署到不同环境时进行转换的方法。
在本地工作时,webApi 将是本地的,例如:http://localhost:64551/Api/person。
在开发中,它将是: http: //devServer.com/Api/person
产品将是: http: //prodServer.com/Api/person
我无法对服务器名称进行硬编码。我在配置中需要它,但当我们部署到不同的环境时它会发生变化。
这是我使用 Visual Studio 在 ASP.net 5 项目中构建的 Anglar2 项目。WebApi 是一个 ASP.net 5 项目。我将在 Azure 托管。
过去,我使用过 web.config 转换,但这不是 Angular 应用程序的选项。
有什么建议吗?
升级到RC6时,我的路由器出现运行时错误(包括子路由):
ListingComponent不是任何NgModule的一部分,或者模块尚未导入到您的模块中
此错误表示我没有将ListingComponent添加到ngModule,但它作为声明存在.
在app.module中,我将所有组件都作为声明.我还导入了我的路由组件.路由组件有一个名为listing.routes的子路由组件.
这是我的app.module.ts:
import {NgModule, CUSTOM_ELEMENTS_SCHEMA, ReflectiveInjector } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {FormsModule, FormBuilder} from '@angular/forms';
import { NgClass, NgStyle} from '@angular/common';
import { AppComponent } from './app.component';
import {routing} from './app.routes';
import {ListingModule} from './components/listing/listingmodule';
import {ListingComponent} from './components/listing/listing.Component';
@NgModule({
imports: [BrowserModule, routing],
providers: [],
declarations: [AppComponent, ListingComponent, ListingModule],
bootstrap: [AppComponent]
})
export class AppModule {
}
Run Code Online (Sandbox Code Playgroud)
这是我的app.routes.ts(我作为路线导入):
import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import …Run Code Online (Sandbox Code Playgroud) 我有一个angular2 RC6应用程序,我需要推迟加载页面,直到执行一些功能.
我有一个服务,确定webApi的URI.我需要应用程序等到这个URL确定后再尝试加载任何数据.如果我在app.component中使用*ngIf隐藏主应用程序,则会出现路由错误,因为路由器插座不存在.
在RC5/6之前,我在服务获取URI后手动引导应用程序.
我有一个调用 webApi 的应用程序。我的应用程序必须将客户端证书附加到请求中。当我进行 webApi 调用时,我可以看到证书附加在调试器中。但是,在 webAPI 端没有客户端证书。
我想验证请求在离开我的应用程序时是否具有客户端证书
这是我可以用提琴手做的事情吗?我只看到与 SSL 服务器证书相关的选项,或将客户端证书添加到提琴手发出的请求中。与检查退出流量和查看客户端证书无关。
我有一个自定义的 ContracteResolver,并且得到了不可预测的结果。
使用调试器,我发现当我序列化时,每个属性都会调用解析器的CreateProperty方法。但是,如果我连续进行两次调用,则第二次调用时不会调用 CreateProperty 方法。我在 CreateProperty 中的断点在第二遍时从未被击中,而是在第一次被击中。
这是我的设置:
IContractResolver contractResolver = new ShouldSerializeContractResolver(fieldsToSerialize, this.Data);
var settings = new JsonSerializerSettings()
{
ContractResolver = contractResolver
};
_payload = JsonConvert.SerializeObject(this.Data, Formatting.None, settings);
Run Code Online (Sandbox Code Playgroud)
我的源值(this.Data)对于这两个调用是不同的。两次调用的结果 (_payload) 也不同。我认为没有任何内容被缓存。
我看到了由自定义 ContentNegotiator 引起的类似问题,但我不使用它。
为什么 CreateProperty 在第二遍时不会被命中?
我在从我们的现场 proget 服务器提取 docker 镜像时遇到问题。这一直有效,但我已经离开它大约两个月了。
我运行: docker pull proget/docker/myimage
几层已完成(拉取完成),但最大的一层给出了“来自字节范围请求的预期 HTTP 206”。
多张图像都会发生这种情况。我怎样才能知道这一层是什么?也许我可以从公共服务器获取它。
I am running Linux containers on a Windows 10 box.
PS H:\> docker --version
Docker version 20.10.7, build f0df350
Run Code Online (Sandbox Code Playgroud)
这是我的 docker pull 命令的输出:
Using default tag: latest
latest: Pulling from docker/myimage
d519e2592276: Already exists
d22d2dfcfa9c: Already exists
b3afe92c540b: Already exists
9abe5f2bbd53: Already exists
65becf0a3765: Already exists
9c36e7f174ec: Retrying in 1 second
9475aaec4d08: Download complete
6500e30cdfd9: Download complete
expected HTTP 206 from byte range request
Run Code Online (Sandbox Code Playgroud)
我使用的是 ProGet 版本 …
我有一个 ASP.NET Core 5 Web API,其中路由不匹配。它在本地工作正常,但在服务器上不起作用。日志告诉我
没有找到请求路径的候选项
但我看到请求路径并且它是正确的。
我想记录所有路线,只是为了看看我的应用程序认为这些路线是什么。查看服务器上的不同之处可能会有所帮助。
angular ×3
asp.net-core ×2
.net-5 ×1
azure ×1
docker ×1
docker-pull ×1
entity-framework-migrations ×1
fiddler ×1
json.net ×1
jsonconvert ×1
proget ×1