小编Dir*_*irk的帖子

如何让Dapper将.net日期时间映射到datetime2?

非常简单,我正在将我们现有的系统从EF转换为Dapper.由于各种公司原因,我们无法真正更改数据库,某些表具有DateTime2类型的列.Dapper将任何.net DateTime转换为DbType.DateTime.

有人必须先碰到这个并找到一个简单的解决方案吗?

c# dapper

19
推荐指数
2
解决办法
9464
查看次数

使用Entity Framework SqlQuery填充子属性

鉴于以下POCO Code First Entities

public class Customer
{
    public int CustomerId { get; set; }
    public string CustomerTitle { get; set; }
    public string CustomerFirstName { get; set; }
    public string CustomerLastName { get; set; }

    public ICollection<Order> Orders { get; set; }
}

public class Order
{
   public int OrderId { get; set; }
   ...
   public int CustomerId { get; set; }

   public Customer Customer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

使用linq,您可以使用Include属性获取填写的订单

var cust = (from cust in context.Customer
            where …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-4.1

11
推荐指数
1
解决办法
6935
查看次数

小巧的一对多在许多人中失去了身份

鉴于以下两个实体

public class Customer
{
    public Customer()
    {
        Orders = new List<Orders>();
    }

    public int CustomerId { get; set; }
    public string CustomerName { get; set; }

    public List<Orders> Orders { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

public class Orders
{
    public int OrderId { get; set; }
    public int CustomerId { get; set; }
    public int Quantity { get; set; }
    public string OrderDescription { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

以下代码

string sql = @"
select c.CustomerId, c.CustomerName, o.OrderId as OrderId, …
Run Code Online (Sandbox Code Playgroud)

dapper

8
推荐指数
0
解决办法
658
查看次数

EF 4.1 Code First Foreign Key添加Extra列

我有以下两个实体(很多,但这些给我的问题)

public class StartPoint
{
    public int StartPointId { get; set; }
    public string Description { get; set; }
    public int StartPointNumber { get; set; }    
    public int StartAreaId { get; set; }
    public StartArea StartArea { get; set; }
}    
Run Code Online (Sandbox Code Playgroud)

public class StartArea
{
    public int StartAreaId { get; set; }
    public string Description { get; set; }
    public ICollection<StartPoint> StartPoints { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当允许EF创建我的数据库时,它抱怨我需要关闭级联删除,因为有多个路径,我已经完成如下操作.

        modelBuilder.Entity<StartPoint>()
            .HasRequired(x => x.StartArea)
            .WithMany()
            .HasForeignKey(x => x.StartAreaId)
            .WillCascadeOnDelete(false);
Run Code Online (Sandbox Code Playgroud)

问题是,当创建数据库时,我得到两个外键,一个叫做StartAreaId,正如我所料,另一个是StartArea_StartAreaId.仅使用StartAreaId.为什么以及如何摆脱StartArea_StartAreaId.如果我在上下文中删除HasForeignKey并从实体中删除StartAreaId,我会得到多个StartArea_StartAreaId列,如StartArea_StartAreaId和StartArea_StartAreaId1.我该怎么做才能阻止这种情况发生?我只想将StartAreaId作为我的外键.

c# entity entity-framework-4.1

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

标签 统计

c# ×3

dapper ×2

entity-framework-4.1 ×2

entity ×1