小编ras*_*s91的帖子

DB Core上的EF Core没有.Include()方法

我目前完全无法调用.Include()和intellisense(在vscode中)似乎并不认为它存在.

现在经过很长一段时间搜索网络后,我发现了这个:

在我的EF实现Generic存储库中找不到.Include()方法

这似乎表明.Include仅存在于System.Data.Entities中,仅适用于EF 5和6.

那么我如何为EF核心中的实体加载我的列表属性?

继承我的背景

public class Database : DbContext
{
    //Set new datasources like this: public DbSet<class> name { get; set; }

    public DbSet<Domain.Resource> Resources { get; set; }
    public DbSet<Domain.ResourceType> ResourceTypes { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Filename=./something.db");
    }
}
Run Code Online (Sandbox Code Playgroud)

继承数据类:

public class Resource
{
    public int ResourceId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }

    public int ResourceTypeId { get; set; …
Run Code Online (Sandbox Code Playgroud)

entity-framework-core .net-core asp.net-core

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

使用EF Core删除级联

我目前在EF Core遇到了一些问题.我有一些我需要删除的数据,我很想知道流畅的API如何工作,完全与.OnDelete()函数有关.

考虑到微软自己的网站的经典博客/帖子情景,我想知道什么实体,正是OnDelete()"目标"(缺乏一个更好的词)在某些情况下,它似乎是博客,在其他情况下,帖子.是否可以从双方定义Cascade删除(当父博客是删除帖子时),如果是这样,我想代码应该如下所示:

model.Entity<Post>().HasOne(p => p.Blog).WithMany(b => b.Posts).HasForeignKey(p => p.BlogId).OnDelete(DeleteBehavior.Cascade)

据我所知,这是说"当博客被删除时,首先删除引用此博客的所有帖子"意味着OnDelete(DeleteBehavior.Cascade)适用于博客,而不是发布.

但这是一样的吗?

model.Entity<Blog>().HasMany(b => b.Posts).WithOne(p => p.Blog).OnDelete(DeleteBehavior.Cascade)

或者是否OnDelete(DeleteBehavior.Cascade)适用于Post而不是博客?

c# entity-framework-core .net-core asp.net-core-2.0 ef-core-2.0

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

.Net Core MySql

我刚刚开始使用.NET Core在Visual Studio Code中进行编码,在Ubuntu 14.04.4上我习惯于使用Ubuntu(来自个人兴趣,爱好等)以及.NET和Visual Studio.

但我遇到了一个似乎无法克服的问题.我正在构建一个我想与MySql Server通信的小型控制台应用程序,但我似乎无法使MySql.ConnectorNET.Data正常工作.

它是用命令安装的,dnu install MySql.ConnectorNET.Data而且似乎工作正常.相关性已添加到project.json文件中,并且intellisense能够正常遍历包,但OmniSharp Log报告:

[INFORMATION:OmniSharp.Dnx.DnxProjectSystem] Project /home/<username>/VSCode/SimpleSQLatmpt/project.json has these unresolved references: MySql.ConnectorNET.Data
Run Code Online (Sandbox Code Playgroud)

而我似乎无法解决这个问题.VSCode似乎检测到它,并要求我运行该dnu restore命令.但这无济于事.对于所有的目的和目的,似乎MySql.ConnectorNET.Data在项目中可用,但是不能使用.

谁能告诉我如何解决这个问题?同样重要的是,为什么它首先发生?

非常感谢您的宝贵时间.

.net c# mysql .net-core visual-studio-code

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

有没有办法将数组元素添加到 formData 对象,以便 net core [FromForm] 能够正确反序列化它们?

所以,我使用 feth api 来发帖,而且通常效果很好。但我有一个问题,假设我有以下两种模型:

public class Contact
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<Phone> Phones { get; set; }
}

public class Phone
{
    public string Number { get; set; }
    public string Model { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想从 html 表单创建一个 formData 对象,它可以很好地添加字符串和整数。但当我这样做时:

var data = new formData(document.querySelector('form'));

let arr = [{
    Number: "12345678"
},
{
    Number: "87654321"
}
];

data.append('Phones', JSON.stringify(arr)); 
//OR
data.append('Phones', JSON.stringify(arr[0]));
data.append('Phones', JSON.stringify(arr[1]));
//OR
data.append('Phones[]', …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-web-api fetch-api asp.net-core

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

我可以使用IEnumerable <Derivedclass <subclass >>调用一个采用IEnumerable <Baseclass <superclass >>的方法吗?

我有一些相当于此的代码(虽然这是一个简化):

namespace AnimalHospital
{
    public class Animal { }
    public class Dog : Animal { }
    public class Cat : Animal { }

    public interface Vet<T> where T : Animal 
    { 
        void takeCareOf(T animal); 
    }
    public abstract class SpecializedDogVet<T> : Vet<T> where T : Dog
    {
       public abstract void takeCareOf(T dog); 
    }

    public abstract class SpecializedCatVet<T> : Vet<T> where T : Cat
    {
        public abstract void takeCareOf(T cat);
    }

    public class AnimalHospital
    {
        public IList<SpecializedCatVet<Cat>> CatVets = new List<SpecializedCatVet<Cat>>();
        public …
Run Code Online (Sandbox Code Playgroud)

.net c# oop .net-core

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