我有一个具有可空DateTime值的游戏模型:
public class Game
{
[Key]
public int Id { get; set;}
public virtual ICollection<PlayerGames> Players { get; set;}
public DateTime StartTime { get; set; }
public DateTime? EndTime { get; set; }
public int? WinnersTeam { get; set; }
}
public class
在EF Core和EF6中,调用属性'Date‘的getter (参见下面)提供了正确的值,但是请注意两者之间的细微差别:在EF6中,setter永远不会被调用!
这是我的模型:
public class MyModel
{
private DateTime _Date;
private bool dateTimeHasBeenSet = false;
public DateTime Date
{
get
{
return _Date;
}
set
我使用的枚举类如下:
public class BillTransactionState
{
public static readonly BillTransactionState Initialized = new BillTransactionState(1, "Initialized");
public static readonly BillTransactionState Invoiceable = new BillTransactionState(2, "Invoiceable");
public static readonl
当我在VS 2017 Package Manager控制台中使用dotnet ef工具时,我收到一条关于需要更新EF Core工具的警告消息: PM> dotnet ef migrations list -s ../RideMonitorSite
The EF Core tools version '2.1.1-rtm-30846' is older than that of the runtime '2.1.2-rtm-30932'. Update the tools for the latest features and bug fixes.
20
我有一个简单的"ContactsList“ASP.Net Core (REST)应用程序,.Net Core3.0,一个使用MSVS2019的.Net Core3.0。
我的“联系人”实体包含一个“备注”列表。
当我创建一个已经包含一个或多个注释的新联系人时,一切都正常。EF自动将注释插入到notes表中。
但当我试图更新联系人时,EF似乎忽略了“注意事项”。
问:对于“更新”,我是否需要在控制器中编写代码来显式地自己更新注释?或者我做了什么“错误”的事情,比如EF不能“自动地”做它应该做的更新?
Models/Contact.cs:
公共类联系人{ Key public int Co
我有一个非常简单的带有datetime主键的Server数据库表:
我为这个表生成了EF模型和数据库上下文:
[Table("Test")]
public partial class Test
{
public DateTime Id { get; set; }
public int Value { get; set; }
}
public partial class Model : DbContext
{
public Model() : base("name=Model") { }
public virtual D
如果我想用EF核心代码更新DB中的Book实体,如下所示
using (var db = new MyContextDB())
{
var bookEntity = db.Books.SingleOrDefault(b => b.Id == 123);
if (result != null)
{
bookEntity.Title = "Get rich in 10 days for dummies";
db.SaveChanges();
}
}
我的问题是,如果图书实体的标题是“10天内致富的假人”之前更新。
在EF6中,当我使用启用迁移命令时,它从DbMigrationsConfiguration类型生成一个文件,并且在这个文件中有一个名为“ContextKey”的属性。
我使用这个属性从上下文中定义键,并在不同的上下文中建立表之间的关系,在不同的类中也是如此。
internal sealed class Configuration : DbMigrationsConfiguration<WebApplication2.Context2>
{
public Configuration()
{
AutomaticMigrationsEnabled = fa
我正在将一个较旧的实体框架应用程序移植到EF Core。在旧的应用程序中,可以自由地使用审计信息:
public class Audit
{
public string CreatedBy { get; set; }
public DateTime? CreatedDt { get; set; }
public string ModifiedBy { get; set; }
public DateTime? ModifiedDt { get; set; }
}
这个类嵌入在DbContext中的许多Entitites中,如下所示:
public class Or
我正在尝试将以下sql查询转换为EF
sql查询
Select Sum([KiloWatt]) as 'Sum',
Min([KiloWatt]) as 'Min',
Max([KiloWatt]) as 'Max',
Sum([KiloWatt])/COUNT([KiloWatt]) as 'Average',
CONVERT(date, [DateTime])
from OneHourElectricitys
where [DateTime] < SYSDATETIME()
grou
在本地机器上,我遇到了一些与EF7-codefirst迁移和Server有关的奇怪问题。当我在命令提示符中运行以下命令时:
dnx ef migrations add InitialDatabse
它正在按字母顺序创建列。据我所知,默认情况是按照类中列的相同顺序创建列。
这里是我的关注点:
为什么要按字母顺序创建我的列?
下面是我的模型和Dbcontext:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime Create
我的.net应用程序中有以下可用的LINQ
public ActionResult Index()
{
Dictionary<DateTime?, List<Event>> result;
result = (from events in db.Events.Include("Activity")
where events.IsActive
group events by DbFunctions.TruncateTime
我有两个表,Participant和Meeting,在一个ASP.NET Core6MinimumAPI项目中设置如下:
record Participant(int id)
{
public string name { get; set; } = default!;
public string title { get; set; } = default!;
}
record Meeting(int id)
{
public string subject { get; set; } = default!;
public string organizer { g
我有下表:
Indicators(A INT, B INT, C INT, D INT, TimeInsertedLocal DateTime) .
我有EF核心映射实体,它映射到这个表。
我需要将这个SQL查询转换为ef核心Linq等价查询。
SELECT A, B, C, D, TimeInsertedLocal
FROM Indicators
WHERE TimeInsertedLocal >=
(
SELECT MAX(I.TimeInsertedLocal)
FROM Indicators AS I
)
这是一个实体:
public class I
如果我有一个名为Book的实体,它具有Id、标题和价格,那么我如何在不首先从数据库中检索它的情况下更新该记录的Price?我只知道更新时的标题。
在这个虚构的例子中,标题保证是唯一的。
通常,我可以使用Attach(),但这需要我知道Id,而我没有这个Id。
基本上,我希望这份声明能从EF中得出:
update Book set Price = "1.99" where Title = "Blah";
谢谢
我使用MVC5和EF6,我得到了下面的转换错误
不能隐式地将类型System.Collections.Generic.List<TreaceabilitySystem.GLB_M_PROFITCENTER>转换为System.Collections.Generic.List<TreaceabilitySystem.Models.Profitcenter>
private TSEntities db = new TSEntities();
// GET: Profitcenter
public ActionResul
我有三门课:
public class Person
{
public string Name { get; set; }
public Guid Guid { get; set; }
}
public class Student : Person
{
public string DOB { get; set; }
}
public class Teacher : Person
{
}
我想按要求做弦乐道布,我正在这样做:
protected override void OnModelCreating(ModelBuilder modelBuilder)
因此,首先,我在Server中创建了一个时态表(系统验证表)。为了简单起见:
CREATE TABLE dbo.person
(
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY CLUSTERED,
NAME VARCHAR(10) NOT NULL,
SysStartTime DATETIME2 GENERATED ALWAYS AS ROW START NOT NULL,
SysEndTime DATETIME2 GENERATED ALWAYS AS ROW END NOT NULL,
PERIOD FOR SY