小编MD.*_*SAN的帖子

将对象映射为实体框架核心中的标识列

是否可以将映射对象作为标识列,并生成值 typeof int ?我尝试过这样,但这没有帮助。我有错误

标识值生成不能用于实体类型“Article”上的属性“Id”,因为属性类型为“ArticleId”。标识值生成只能与有符号整数属性一起使用。

    public class ArticleId
    {
        public int Value { get; private set; }

        public ArticleId(int value)
        {
            Value = value;
        }
    }

    public class Article 
    {

        public ArticleId Id { get; set; }
        public string Name { get; set; }
    }
     
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        var converter = new ValueConverter<ArticleId, int>(
                                    v => v.Value,
                                    v => new ArticleId(v)
        );

       modelBuilder
       .Entity<Article>()
       .Property(p => p.Id)     
       .HasConversion(converter)
       .ValueGeneratedOnAdd()
       .UseIdentityColumn();

       base.OnModelCreating(modelBuilder);
    }
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core

10
推荐指数
1
解决办法
1653
查看次数

Flutter Web 应用程序在运行后暂停并显示 web_entrypoint.dart 但没有任何控制台错误

我试图在 chrome 中运行我的 flutter 应用程序,我使用 firebase 进行登录和注册,在这里我遇到了问题。它没有在 chrome 中运行,它显示web_entrypoint.dart文件,我也尝试继续它,但它在 chrome 中显示为空白。

import 'dart:ui' as ui;
import 'dart:async';

import 'package:eorganic/main.dart' as entrypoint;
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
import 'package:eorganic/generated_plugin_registrant.dart';

typedef _UnaryFunction = dynamic Function(List<String> args);
typedef _NullaryFunction = dynamic Function();

Future<void> main() async {
       registerPlugins(webPluginRegistrar);
       await ui.webOnlyInitializePlatform();
       if (entrypoint.main is _UnaryFunction) {
      return (entrypoint.main as _UnaryFunction)(<String>[]);
 }
 return (entrypoint.main as _NullaryFunction)();  
}
Run Code Online (Sandbox Code Playgroud)

错误:图像

dart firebase flutter google-cloud-firestore

6
推荐指数
0
解决办法
354
查看次数

为什么我应该在调用 ThrowIfCancellationRequested() 之前检查 IsCancellationRequested

我经常看到以下代码,第一个视图看起来不错,因为它用于在执行其他操作之前检查先决条件。

但是当人们读到方法的名称时,感觉前面的 if 语句已经包含在方法本身中了。那么是否有任何理由像本示例中那样编写代码,或者可以跳过 if 语句并ThrowIfCancellationRequested直接运行。

当然,如果需要在退出之前进行清理,那就是另一回事了,那么我完全理解 if 语句的用法。

if (cancellationToken.IsCancellationRequested)
{
    cancellationToken.ThrowIfCancellationRequested();
}
Run Code Online (Sandbox Code Playgroud)

c# task cancellation-token

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

模型相互引用错误:循环依赖问题

管理模型.ts

import mongoose, { Schema, Document } from 'mongoose';
import UserRole, { IUserRole } from './user-role.model';

export interface IAdmin extends Document {
    role: IUserRole;
}

let adminSchema = new Schema<IAdmin>({
    role: {
        type: Schema.Types.ObjectId, ref: UserRole
    }
});

export default mongoose.model<IAdmin>('Admin', adminSchema);
Run Code Online (Sandbox Code Playgroud)

用户角色.model.ts

import { Schema, Document, model } from 'mongoose';

export interface IUserRole extends Document{
    updated_by: IAdmin|string;
}

let userRoleSchema = new Schema<IUserRole>({
    updated_by: {
        type: Schema.Types.ObjectId, ref: Admin
    }
})

export default model<IUserRole>('UserRole', userRoleSchema);
Run Code Online (Sandbox Code Playgroud)
MongooseError: Invalid ref at …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js typescript typegoose

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

如何解决错误:文档未附加到窗口?

我使用html2canvas将 html 转换为 png,出现以下错误:

html2canvas.min.js:20 Uncaught (in promise) Error: Document is not attached to a Window
    at html2canvas.min.js:20:193237
    at html2canvas.min.js:20:1976
    at Object.next (html2canvas.min.js:20:2081)
    at html2canvas.min.js:20:1023
    at new Promise (<anonymous>)
    at a (html2canvas.min.js:20:774)
    at Vs (html2canvas.min.js:20:192912)
    at html2canvas.min.js:20:196186
    at takeScreenShot (set style [modal].html:94:7)
    at action (set style [modal].html:68:11)
Run Code Online (Sandbox Code Playgroud)
 let htmlString = document.documentElement.innerHTML;
 let virtualDom = new DOMParser().parseFromString(htmlString, "text/html");
 html2canvas(virtualDom.body).then((canvas) => {
       let base64image = canvas.toDataURL("image/png");
      });
Run Code Online (Sandbox Code Playgroud)

如果我传递浏览器 DOM 就可以了,但由于某种原因我需要新的 DOM,这就是我使用DOMParser. 类似问题:链接

javascript html5-canvas html2canvas

2
推荐指数
1
解决办法
1664
查看次数