小编Sef*_*efe的帖子

多个添加的实体可以具有相同的主键

这是我的3个实体模型:Route,Location和LocationInRoute.
模型

以下方法失败并在提交时获取异常:

 public static Route InsertRouteIfNotExists(Guid companyId, IListLocation> locations)
        {
            //Loop on locations and insert it without commit
            InsertLocations(companyId, routesOrLocations);

            RouteRepository routeRep = new RouteRepository();
            Route route = routeRep.FindRoute(companyId, locations);
            if (route == null)
            {
                route = new Route()
                {
                    CompanyId = companyId,
                    IsDeleted = false
                };
                routeRep.Insert(route);
                LocationInRouteRepository locInRouteRep = new LocationInRouteRepository();
                for (int i = 0; i < locations.Count; i++)
                {
                    locInRouteRep.Insert(new LocationInRoute()
                    {
                        //Id = i,
                        LocationId = locations[i].Id,
                        Order = i,
                        RouteId = route.Id
                    });
                } …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework

75
推荐指数
1
解决办法
5万
查看次数

无法调用类型缺少调用签名的表达式

我有苹果和梨 - 都有一个isDecayed属性:

interface Apple {
    color: string;
    isDecayed: boolean;
}

interface Pear {
    weight: number;
    isDecayed: boolean;
}
Run Code Online (Sandbox Code Playgroud)

这两种类型都可以在我的水果篮中(多次):

interface FruitBasket {
   apples: Apple[];
   pears: Pear[];
}
Run Code Online (Sandbox Code Playgroud)

我们假设现在我的篮子是空的:

const fruitBasket: FruitBasket = { apples: [], pears: [] };
Run Code Online (Sandbox Code Playgroud)

现在我们随机抽出一种:

const key: keyof FruitBasket = Math.random() > 0.5 ? 'apples': 'pears'; 
const fruits = fruitBasket[key];
Run Code Online (Sandbox Code Playgroud)

当然,没有人喜欢朽烂的水果,所以我们只选择新鲜水果:

const freshFruits = fruits.filter((fruit) => !fruit.isDecayed);
Run Code Online (Sandbox Code Playgroud)

不幸的是,Typescript告诉我:

无法调用类型缺少调用签名的表达式.输入'((callbackfn :(值:Apple,索引:数字,数组:Apple [])=> any,thisArg?:any)=> Apple [])| ......'没有兼容的呼号.

这里有什么问题 - 只是因为Typescript不喜欢新鲜水果,或者这是一个Typescript错误?

您可以在官方的Typescript Repl中自己尝试一下.

javascript types typescript

66
推荐指数
2
解决办法
9万
查看次数

在 VS Code 中构建 SQL Server 项目

我在 Visual Studio 中创建了一个 SQL Server 项目 ( ),并使用MS SQL 扩展.sqlproj将其加载到 VS Code 中。我可以连接到数据库并运行 SQL 脚本,但这不是 SQL Server 项目的重点。

在 Visual Studio 中,可以构建 SQL Server 项目,该项目从项目中的各种脚本创建单个 SQL 脚本,您可以使用该脚本在空数据库服务器上创建完整数据库。您还可以针对现有数据库运行构建,这将创建一个更新脚本,将ALTER现有数据库更新为新版本。

我可以在 VS Code 中构建吗.sqlproj?还是不支持此选项?如果不支持此选项,是否有另一个扩展可以执行类似的操作?

sql-server visual-studio-code

8
推荐指数
1
解决办法
7823
查看次数

当数据按聚集索引的顺序时,覆盖索引是否会得到回报?

我的情景,我有帖子,按类别分组.对于类别的概述列表,我想显示具有类别的前10个帖子的摘要(与显示完整数据的类别的详细视图相对).前10个帖子由分数决定,分数来自另一个表(实际上是索引视图 - 但这在这里无关紧要).

表结构如下:

CREATE TABLE [dbo].[Categories]
(
    [Id] INT NOT NULL IDENTITY CONSTRAINT [PK_Categories] PRIMARY KEY,
    [Key] CHAR(10) CONSTRAINT [UK_Categories_Key] UNIQUE,
    [Caption] NVARCHAR(500) NOT NULL,
    [Description] NVARCHAR(4000) NULL
)
GO

CREATE TABLE [dbo].[Posts]
(
    [Id] INT NOT NULL IDENTITY CONSTRAINT [PK_Posts] PRIMARY KEY,
    [CategoryId] INT NOT NULL CONSTRAINT [FK_Posts_Category] FOREIGN KEY REFERENCES [dbo].[Categories] ([Id]),
    [Key] CHAR(10) CONSTRAINT [UK_Post_Key] UNIQUE,
    [Text] NVARCHAR(4000) NULL,
    [SummaryText] AS
        CASE WHEN LEN([Text]) <= 400
            THEN CAST([Text] AS NVARCHAR(400))
            ELSE CAST(SUBSTRING([Text], 0, 399) + NCHAR(8230) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server indexing

7
推荐指数
1
解决办法
444
查看次数

实体框架中多个类似实体类型的常见查询

我有一个场景,我在数据库中有3种类型的产品,所有产品都有自己独立的表(例如Product1,Product2Product3).几乎所有产品表都具有相同的模式.我需要在不同的表中获得不同类型的产品.

我目前有3种获取产品的方法,每种产品类型一种:

public List<Product1> GetProduct1Data() {
    //....
    context.Product1.Where(..).Tolist();
}

public List<Product2> GetProduct2Data() {
    //....
    context.Product2.Where(..).Tolist();
}

public List<Product3> GetProduct3Data() {
    //....
    context.Product3.Where(..).Tolist();
}
Run Code Online (Sandbox Code Playgroud)

在调用产品时,我有一个WebApi方法,它接受产品类型并调用相应的方法:

public IHttpActionResult GetProducts(ProductType product)
{ 
    ///....
    // Ii have to call repositories according to product parameter
}
Run Code Online (Sandbox Code Playgroud)

实体框架是否有任何方法可以选择只有一种方法的表?

c# linq entity-framework

7
推荐指数
1
解决办法
568
查看次数

创建 Lucene.net 自定义分析器

我正在尝试在 Lucene.net 4.8 中创建一个自定义分析器 - 但是我遇到了一个我无法理解的错误。

我的分析器代码:

public class SynonymAnalyzer : Analyzer  
{

protected override TokenStreamComponents CreateComponents(string fieldName, TextReader reader)
{
    String base1 = "lawnmower";
    String syn1 = "lawn mower";
    String base2 = "spanner";
    String syn2 = "wrench";

    SynonymMap.Builder sb = new SynonymMap.Builder(true);
    sb.Add(new CharsRef(base1), new CharsRef(syn1), true);
    sb.Add(new CharsRef(base2), new CharsRef(syn2), true);
    SynonymMap smap = sb.Build();

    Tokenizer tokenizer = new StandardTokenizer(Version.LUCENE_48, reader);

    TokenStream result = new StandardTokenizer(Version.LUCENE_48, reader);
    result = new SynonymFilter(result, smap, true);
    return new TokenStreamComponents(tokenizer, result);
} …
Run Code Online (Sandbox Code Playgroud)

c# lucene lucene.net analyzer

6
推荐指数
1
解决办法
2467
查看次数

汇编版本不匹配?(.Net Core 2.0与.NET Standard 2类库)

所以我的解决方案编译但是当我运行它时,我在运行.NET 4.6.1的类库中遇到错误.

System.TypeLoadException:'无法从程序集'System.Data,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Data.Common.DbProviderFactories'.

有什么建议?

编辑:

完成错误:

$ exception {System.TypeLoadException:无法从程序集'System.Data,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.Data.Common.DbProviderFactories'.在System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver.GetService(系统类型,对象键,Func 3 handleFailedLookup) at System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver.GetServices(Type type, Object key) at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey键,Func 2 valueFactory) at System.Linq.Enumerable.SelectManySingleSelectorIterator2.MoveNext())System.Linq.Enumerable.ConcatIterator 1.MoveNext() at System.Linq.Enumerable.SelectManySingleSelectorIterator2.MoveNext()at System .Linq.Enumerable.ConcatIterator 1.MoveNext() at System.Linq.Enumerable.<OfTypeIterator>d__321.MoveNext()at System.Collections.Generic.List 1.AddEnumerable(IEnumerable1 enumerable)at System.Linq.Enumerable.ToList [TSource](IEnumerable 1 source) at System.Data.Entity.Infrastructure.DependencyResolution.InternalConfiguration.Lock() at System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.<.ctor>b__1() at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode)at System.Lazy 1.CreateValue 1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor) at System.Lazy( )System.Data.Entity.Infrastructure.DependencyResolution.DbConfigurationManager.GetConfiguration()at System.Data.Entity.DbContext.InitializeLazyInternalContext(IInternalConnection internalConnection,DbCompiledModel model)at XYConfigurationModule.ConfigurationContainer..ctor(String nameOrConnectionString)} System.TypeLoadException

.net c# asp.net

5
推荐指数
1
解决办法
4429
查看次数

如何在打字稿中向`...args`添加类型

我有这样的功能

function foobar(...args): any {
    ....
}
Run Code Online (Sandbox Code Playgroud)

函数签名相当通用,但它只接受字符串和最后一个 X 类型的对象(都是可选的)

foobar();
foobar('a');
foobar('a', 'b', 'c');
foobar('a', { ... });
foonbar('a', 'b', { ... }); 
Run Code Online (Sandbox Code Playgroud)

有什么方法可以添加类型,例如

function foobar(...args: [...string, X]) {  // this doesn't work!

}
Run Code Online (Sandbox Code Playgroud)

有什么建议 ?

typescript typescript-typings

5
推荐指数
1
解决办法
6199
查看次数

在 EF Core 中并发删除实体

我想删除 EF Core 中的实体而不先从数据库加载它。我知道以前也有人问过类似的问题,但请耐心等待,因为这个案例有所不同。除了通常的 ID 之外,该实体还有一个行版本,这会导致问题。

该实体的定义如下:

public int MyEntity {
    public int Id { get; set; }
    //Other irrelevant properties
    public byte[] RowVersion { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

该实体使用 Fluent API 配置:

class MyEntityConfiguration : IEntityTypeConfiguration<MyEntity> {
    public void Configure( EntityTypeBuilder<MyEntity> builder ) {
        builder.Property( e => e.RowVersion )
            .IsRequired()
            .IsRowVersion();
    }
}
Run Code Online (Sandbox Code Playgroud)

行版本允许我进行乐观并发检查。问题是,当我尝试删除实体而不先像这样加载它时......

void RemoveMyEntity( int id ) {
    MyEntity removeEntity = new MyEntity {
        Id = id
    };
    m_context.MyEntities.Attach( removeEntity );
    m_context.MyEntities.Remove( removeEntity );
}
Run Code Online (Sandbox Code Playgroud)

...并发检查落到了我的脚上。我在以下位置收到此错误消息DbUpdateConcurrencyException …

c# entity-framework entity-framework-core

5
推荐指数
1
解决办法
3359
查看次数

是否可以从 TypeScript 中的多个其他接口继承一个接口

嗨,有角的社区,

是否可以包含嵌套在另一个接口中的三个接口,我认为我的代码比我的句子更能解释它:我正在尝试将接口 IProject1 & IProject2 & IProject3 实现为 IAdmin2 接口的一部分:

提前致谢

 import {IBusiness} from "./business";
 import {ITechnology} from "./technology";
 export interface IAdmin2 {
     id: number;
     business_id: number;
     technology_ids: number[];
     trigram: string;
     position: string;
     years_experience: number;
     notification: boolean;
     availability: any;
     form_admin2_file: File;
     business: IBusiness;
     technologies: ITechnology[];
     admin2Translations: any;
     translations: any;
    delete: any;
    data: any;
  ** Include interface Iproject1**
  ** Include interface Iproject2**
  ** Include interface Iproject3**
 }


 import {ITechnology} from "./technology";
 import {IProjectFile} from "./project-file";
 export interface IProject1 {
     id: number; …
Run Code Online (Sandbox Code Playgroud)

typescript angular

4
推荐指数
1
解决办法
2652
查看次数