小编Rax*_*Rax的帖子

在 JetBrains Rider 中,是否有键盘快捷键来添加新的类文件?

在 JetBrains Rider 中,是否有键盘快捷键来添加新的类文件?也许使用相同的弹出窗口来命名 C# 类,然后保存在当前选择/打开的目录中。

会节省很多鼠标点击:-)

rider

8
推荐指数
2
解决办法
6563
查看次数

如何在 Oracle PLSQL 和 SQL 中执行字符串插值。给定一个带有命名占位符的文本模板,用变量替换它们

问题: Oracle如何使用PLSQL进行字符串插值?给定一个包含在大括号内的命名参数的模板,然后用命名参数替换变量。功能类似于C# 字符串插值、Java 等语言。代码应该针对性能进行优化,尽管大多数代码不会经常使用。

大括号是强制性的,因为模板是业务用户定义并保存在表中的。这是公司使用的标准惯例。目标是在 Oracle 本身中“邮件合并”业务文档和片段。

实现: 最好封装在 PLSQL 和 SQL 中运行的函数。对于 SQL,名称值对的 csv 列表将在 example 中传递'name, jane, age, 26'name, value, name, valueETC...

示例用例:

请注意使用双大括号作为文字“{”的转义符。模板将存储在数据库表中,替换变量将在运行时根据复杂的规则导出。下面的例子很简单:

模板='Hi my name is {name}, I am aged {age}, yes {age}! Replaced placeholders {{name}}, {{age}}'

变量=name: jane, age: 26

输出=Hi my name is Jane, I am aged 26, yes 26! Replaced placeholders {name} and {age}

调用虚构包的 PLSQL 示例:

DECLARE v_template NVARCHAR2(500);
        v_name NVARCHAR2(50) := 'Jane'; …
Run Code Online (Sandbox Code Playgroud)

oracle plsql

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

在 EFCore 3.0 中 - 如何从视图中加入相关的只读无键实体,以便加载相关实体

使用 .NET EFCore 3.0 - 查询类型已弃用,现在我们转向Entity Framework Core 3.0 中的“无键实体类型”

我的要求是使用新语法将 MS SQL 数据库中的多个只读视图映射到 DbContext HasNoKey()

  1. 返回的只读实体必须加载其相关的只读实体。
  2. 有没有办法将视图相互连接并自动加载相关实体?
  3. 除了 HasNoKey 之外,也许还有另一种使用视图和只读实体的方法?

简单的示例架构,Order 有许多 OrderItems。如果这两个实体都来自视图,那么订单如何加载它的订单项?

public class ReadonlyActionOnDb
{
    OrdersDbContext Db; //need to pass in via constructor etc, just for demo code.
    protected void PrintOrderItems()
    {
        var custItems = Db.vOrders.Where(i=> i.CustomerId == 10).SelectMany(i=> i.OrderItems);
        foreach (OrderItemDto i in custItems ) Console.WriteLine(i.ProductName); 
    }           
}

//part of the config shown...
public partial class OrdersDbContext: DbContext
{
    public DbSet<OrderDto> vOrders { …
Run Code Online (Sandbox Code Playgroud)

ef-core-3.0

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

Jetbrains Rider,如何禁用文档注释(摘要标签)中的文本缩进?

在 Jetbrains Rider 2021.3x 中,执行后,文档注释Code Clean Up中的文本将缩进。如何禁用此功能?在下面的示例中,骑手在摘要标签中插入文本缩进,希望防止这种情况发生:

   /// <summary>
   ///    Why does Rider indent these comments? How can it be disabled?
   ///    Any idea of what settings!?
   /// </summary>
   public class Person{}
      
Run Code Online (Sandbox Code Playgroud)

执行代码清理后,文本不应有缩进,如下所示:

   /// <summary>
   /// Why does Rider indent these comments? How can it be disabled?
   /// Any idea of what settings!?
   /// </summary>
   public class Person{}
Run Code Online (Sandbox Code Playgroud)

只是努力寻找正确的设置......

rider

3
推荐指数
1
解决办法
840
查看次数

在 Oracle Apex 上,如何使用免费版本在同一工作区上创建多个数据库架构

使用 Oracle Apex (Oracle Application Express) 上的免费包,使用在线版本(非本地),托管于:

https://apex.oracle.com/

是否可以在数据库中创建多个数据库模式?这是免费的在线版本。

例如,创建一个名为 的表[finance].[t_users],其中架构名为[finance]

根据文档,这是可能的,但也许免费版本不允许这样做?

随着数据库的增长,多个模式至关重要,需要通过模式分离逻辑名称空间。

oracle oracle-apex

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

Entity Framework Core 5:配置多对多关系,如何指定外键名称

我有一个现有的 SQL Server 数据库,其中通过连接表实现了多对多关系Books<-> :AuthorsPublications

CREATE TABLE [dbo].[Books]
(
    [BookId] INT IDENTITY,
    [Title] NVARCHAR(160) NOT NULL,
    ...
)

CREATE TABLE [dbo].[Authors]
(
    [AuthorId] INT IDENTITY,
    ...
)

CREATE TABLE [dbo].[Publications]
(
    [BookId] INT NOT NULL,
    [AuthorId] INT NOT NULL,

    CONSTRAINT [PK_Publication] PRIMARY KEY ([BookId], [AuthorId])
)
Run Code Online (Sandbox Code Playgroud)

我需要在 Entity Framework Core 5 中配置多对多关系。

对于 EF 6,这相当简单:

protected override void OnModelCreating(DbModelBuilder mb)
{
    mb.Entity<Author>() // an Author
         .HasMany(a => a.Books) // has many Books
         .WithMany(b => b.Authors) // …
Run Code Online (Sandbox Code Playgroud)

c# database entity-framework-core .net-5

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

为什么动态项在传递给方法时,编译器不验证该方法的返回类型?

在 C# 中,在返回动态 的 for 循环中item,当将item传递给方法时,在将结果分配给不兼容的类型变量时,编译器不会验证该方法的返回类型。

注意:有一个类似的问题,但与更改返回类型有关,而这里我们专注于编译器类型检查,这是谷歌搜索的一个重要区别。

下面的示例更好地解释了为什么编译器没有引发类型转换错误

void Main()
{
   List<dynamic> vals = new List<dynamic>(100);
   for (int i = 0; i < 100; i++) vals.Add(new { Id = i});
   
   foreach (dynamic itm in vals)
   {
      //no compile error, why?? result should be an int, as GetId returns an int!
      string result = GetId(itm);
      Console.WriteLine($"id: {result}");     
   }

   //id2 must be an int, else compile error
   int id2 = GetId(new {Id = 100}); …
Run Code Online (Sandbox Code Playgroud)

.net c#

0
推荐指数
1
解决办法
111
查看次数