我用DB first方法在.NET核心实体框架中构建了一个数据库模型。我的数据库中有几个多到多的关系,它们都是用一个连接表表示的。
就像这样:
public partial class Test1
{
public Test1()
{
Test1_Test2= new HashSet<Test1_Test2>();
}
public int Id { get; set; }
..
public virtual ICollection<Test1_Test2> Test1_Test2{ get; set;
我的数据库中有两个表包含相同的列。TBL 1和TBL 2是历史表。当我将数据输入TBL 1时,我想使用EF Core 2.2将所有数据从TBL 1移动到Tbl 2(作为历史数据)。
我不想写不必要的循环来使代码难看。
var MyEntity = new MyEntities();
var TBL1 = MyEntity.TBL1.Find();
var TBL2 = new TBL2();
TBL2.CurrentValues.SetValues(TBL1);
//CurrentValues is not accept in code. Giving me build error
My
我正在编写一些通过EF4.3使用单个表继承的代码。
有一个名为User的实体和另一个名为Admin的实体。管理员从用户继承。
用户类
public class User
{
public int Id {get;set;}
public string Username {get;set;}
}
管理类
public class Admin : User { }
EF生成带有Discriminator列的数据库表。当添加Admin记录时,Discriminator="Admin"和用户记录将具有Discriminator="User"。
我的问题是
在EF6中,我们有两种方法来声明两个表之间的关系:
注释属性
Fluent API
今天(偶然)我去掉了两张桌子之间的一段关系,一切都很正常。我很惊讶,因为EF不可能知道这两个表是如何连接的。
表如下所示:
[Table("item")]
public class Item
{
public Item()
{
ItemNotes = new HashSet<ItemNote>();
}
[Key]
[Column("itemID", TypeName = "int"
我试图使用主键和两个表的唯一键(而不是主键)在两个表之间创建一对一的关系。
以下是我想做的工作。
// The principal end
public class A
{
// The primary Key
public int AId { get; set; }
// The navigation property
public virtual B B { get; set; }
}
// The dependent end
public class B
{
// The primary Key
public int BId { get
当我将代码从SQLite数据库移植到核心数据时,我遇到了一个问题。
我使用的数据来自现有的数据库,因此具有使用每个表(或实体,现在我使用的是Core Data)的ID定义的所有关系。我的问题是,我想对单个表进行查询,然后使用该结果在数据中向上传播,以获得我需要的所有其他数据。
原始数据库如下所示:
CREATE TABLE TecAccessPoints (MAC varchar NOT NULL PRIMARY KEY UNIQUE,ZoneID integer NOT NULL,Floor integer);
CREATE TABLE Zones (ID integer NOT NULL
当使用更新表中值的FromSqlRaw在EF 3上运行过程时,当我查询数据库中那些更改的值时,EF 不返回更新的值。
我已经复制了这种行为。要复制,创建一个新的控制台应用程序c#与.net核心3.1。
将下面的代码复制到主Program.cs文件中:
using System;
using System.Linq;
using Microsoft.Data.SqlClient;
using Microsoft.EntityFrameworkCore;
namespace EfCoreTest
{
class Program
{
static void Main
我有这个结构:
用于备注和其他数据表的SQL数据库(这似乎与此问题无关)。便笺表得到了一张票的引用。为此,我使用实体框架加载数据。a API调用票证,为此我使用了来自C#.的HttpClient
现在,我希望使用SQL查询将这两个对象连接起来,以查询来自便笺的多个其他相关数据。
在SQL中,我知道您可以这样做。将表声明为变量,插入一些数据并将其与注释连接起来。
declare @tickets table(
ID int primary key,
[Subject] nvarchar(max)
);
-- Making API call and insert results
假设我们有 和 类:在Play和Player两个表之间有非常好的一对多关系: public class Airport
{
public int Id { get; set; }
public string Name { get; set; }
public virtual IList Runways { get; set; }
}
public class Runway
{
public int Id { get; set; }
public string Name { get; set; }
//public int Airpo
我试图围绕EF核心拥有的对象,以及如何控制何时加载某些数据块。
基本上,我有一堆旧的遗留表(有些有大约150列),并且希望使用根实体和每个表拥有的几个对象对它们进行建模,以实现更好的分段和绑定某些功能。示例:有一个“项目”实体,包含基础表中最重要的字段的大约20个属性。该实体还包含一个OwnedObject "StorageDetails“,包装了十几个字段(以及与存储内容有关的所有函数)。
问题:我无法找到一种方法来控制是否应该立即加载一个拥有的对象。对于其中一些人,我倾向于使用Include()显式地加载它们.
public class Article : EntityBase
{
假设以下数据库模式:
Table A: AId (PK)
Table B: BId (PK)
Table C: CId (PK)
Table AB: AId, BId (composite PK, FKs to A and B), Data
Table BC: BId, CId (composite PK, FKs to B and C), Data
Table ABC: AId, BId, CId, Data
在数据库中,ABC有两个FKs:一个用于AId和BId上的AB,另一个用于BId和CId上的BC。
使用EF设计器并尝试从此数据库创建模型。
如果您检查了Include fo
我一直在摆弄EF Core 3.1,试图在两个类之间建立关系。诀窍是一个类上的组合键,另一个类只通过一个部分与之相关。
请考虑以下几点:
public class A
{
public string Foo { get; set; }
public long Id { get; set; }
public IEnumerable<B> B { get; set; }
}
public class B
{
[Key]
public int Id { get; set; }
public string Bar { get; set;