小编Ale*_*lex的帖子

使用多映射API时,如果您具有Id","splitOn以外的密钥,请确保设置splitOn参数

我正在尝试使用dapper的多映射功能来返回相册和相关艺术家和流派的列表.

public class Artist
{
public virtual int ArtistId { get; set; }
public virtual string Name { get; set; }
}    


public class Genre
{
public virtual int GenreId { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
}


public class Album
{
public virtual int AlbumId { get; set; }
public virtual int GenreId { get; set; }
public virtual int ArtistId { get; set; }
public …
Run Code Online (Sandbox Code Playgroud)

c# dapper

28
推荐指数
2
解决办法
3万
查看次数

在不创建数据库的情况下,将Mini-Profilier与EF 4.3和MVC 4配合使用

我有一个问题,我们在现有数据库中使用EF 4.3 Code First.我想使用带有EF的Mini-Profiler并打电话

MvcMiniProfiler.MiniProfilerEF.Initialize();
Run Code Online (Sandbox Code Playgroud)

但是,由于我们实际上没有创建任何表,因此dbo .__ MigrationHistory和dbo.EdmMetadata表不存在.探查器最终崩溃,因为它们不存在.有没有办法让探查器忽略这些EF Code First特定的表?谢谢!

编辑:

这些是我得到的例外:(它们分开来)

Invalid object name 'dbo.__MigrationHistory'.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework mvc-mini-profiler

24
推荐指数
1
解决办法
4489
查看次数

Dapper.NET文档?

我在哪里可以找到Dapper.net上的文档?如果没有,似乎很少!

谢谢

t-sql c#-4.0 dapper

15
推荐指数
1
解决办法
8712
查看次数

GetProperty BindingFlags.IgnoreCase在c#中没有public和Instance工作

 Type t = typeof(T);
  t.GetProperty("Company")
Run Code Online (Sandbox Code Playgroud)

如果我写下面的代码,它将给出null

    Type t = typeof(T);
t.GetProperty("company", BindingFlags.IgnoreCase)
Run Code Online (Sandbox Code Playgroud)

同时,如果我写这个工作正常.为什么会这样?

Type t = typeof(T);
t.GetProperty("company", BindingFlags.IgnoreCase|BindingFlags.Public | BindingFlags.Instance)
Run Code Online (Sandbox Code Playgroud)

c# reflection

11
推荐指数
3
解决办法
3935
查看次数

Dapper ORM嵌套对象

我有一个客户说我使用了Dapper ORM,这是我以前从未使用过的.我有嵌套对象的问题.我有一个主类(Location),它有一个嵌入式值对象类(Address).这两个类看起来像这样:

class Location {
    int Id;
    string LocationName;
    Address LocationAddress;
}

Class Address {
    string Street;
    string City;
    string State;
    string ZipCode;
}
Run Code Online (Sandbox Code Playgroud)

SQL:

SELECT Id, LocationName, Street, City, State, ZipCode FROM Locations
Run Code Online (Sandbox Code Playgroud)

我看了一些例子,但我无法正确设置查询.我只是不明白Dapper足以使结构正确.

c# orm dapper

10
推荐指数
1
解决办法
4545
查看次数

使用Dapper解析字符串错误

我有下表,删节:

CREATE TABLE [dbo].[TERMINAL] (
    [TERM_CODEID]    SMALLINT     NOT NULL,
    [TERM_ACTIVE]    SMALLINT     NOT NULL,
    [TERM_NAME]      VARCHAR (30) NOT NULL,
    [TERM_SLA]       CHAR (8)     NOT NULL,
    [TERM_SERIAL]    VARCHAR (8)  NULL,
    [TERM_VERSION]   VARCHAR (8)  NULL,

    [TERM_STATUS]    INT          NULL,
)
Run Code Online (Sandbox Code Playgroud)

当我尝试以下Dapper代码 - 我是一个完整的Dapper新手,昨天发现它 - 我收到一个错误:

using (var conn = new SqlConnection("data source=ourServer; initial catalog=ourDb;user id=sa;password=ourPassword;"))
{
    conn.Open();
    var terms = conn.Query<Terminal>("select * from TERMINAL");
}
Run Code Online (Sandbox Code Playgroud)

错误是:

解析第3列时出错(TERM_SLA = 01010B01 - String)

我没有理由为什么甚至不得不"解析"一个字符串,更不用说在这样做时遇到错误.可能导致这种情况的原因>

c# database orm dapper micro-orm

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

使用 Azure Durable Functions 实现“即发即忘”后台作业

我有一个用例,要求我启动一些 Azure Durable Functions,而不关心其结果,我想知道我的方法是否正确。

这是我所处的场景:

  • 函数A使用一个HttpTrigger
  • 函数B使用一个ActivityTrigger

这是我的工作流程:

  • A被调用,需要做一些业务逻辑
  • 除了这个业务逻辑之外,我还需要执行一项可能失败也可能不会失败的长时间后台任务。我不关心结果,但我需要每次A调用时运行此任务。
  • A需要尽快返回,这就是为什么我等不及后台任务完成
  • BA返回时处理此后台任务

我在网上找到的所有耐用功能示例都显示如下内容:

await starter.StartNewAsync("BackgroundDurableFunction", data)
Run Code Online (Sandbox Code Playgroud)

我的问题是,我不想要await持久功能,但我需要它在后台运行并执行其操作(主要是网络 I/O)。

为了避免等待这个持久功能,我最终采用了以下解决方法:

Task.Factory.StartNew(() => starter.StartNewAsync("BackgroundDurableFunction", data));
Run Code Online (Sandbox Code Playgroud)

这似乎工作得很好,因为我不需要await任何东西,但在阅读了Task.Factory.StartNew 的危险之后,我有点担心这可能是一个危险的解决方案。

所以,问题是:启动持久功能并让它在后台运行而不关心其结果(并且没有关于不等待任务的警告)的正确方法是什么?

c# azure-functions azure-durable-functions

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

将Dapper查询映射到对象集合(它本身有几个集合)

我想执行单个查询(或具有多个结果集的存储过程).我知道如何使用Dapper进行多重映射,但我无法对如何将两个集合映射到同一个父集合进行排序.基本上,给定此对象定义...

class ParentObject
{
    string Name { get; set; }
    ICollection<ChildObjectOne> ChildSetOne {get;set;}
    ICollection<ChildObjectTwo> ChildSetTwo { get; set; }
}

class ChildObjectOne
{
    string Name { get; set; }
}

class ChildObjectTwo
{
    int id { get; set; }
    string LocationName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够运行以某种方式产生的Dapper查询:

IQueryable<ParentObject> result = cnn.Query(
          // Some really awesome dapper syntax goes here
);
Run Code Online (Sandbox Code Playgroud)

c# dapper multi-mapping

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

node.js redis异步查询

希望有人可以在node-redis上协助(简单)异步问题.我正在尝试从redis数据库中的哈希加载一个集合,然后再使用该填充集合.这是代码片段: -

var redis_client = redis.createClient(REDIS_PORT, REDIS_URL); 

redis_client.hgetall(target_hash,function(e,o){

    Object.keys(o).forEach(function(target){

        // get the "name" from the hash         
        redis_client.hget(o[target],"name",function(e,o){
        if (e){
                 console.log("Error occurred getting key: " + e);
              }
        else {
                 redis_client.sadd("newset",o);
             }
    });

});

// the following line prints nothing - why ?? 

redis_client.smembers("newset",redis.print);
Run Code Online (Sandbox Code Playgroud)

当我在redis中检查"newset"的内容时,它会按预期填充,但在运行时它显示为空.我确定这是一个异步问题 - 任何帮助非常感谢!

redis node.js

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

获取从 dapper.QueryMultiple 方法返回的结果集的数量

我使用 Dapper 库。我有一个动态查询,它从 QueryMultiple 方法返回一个或多个结果集/表。我没有任何具体的结果集数量可以写。Read() 方法的。我们是否有任何函数或方法(例如 result.Count = 返回表的数量)或有多少个。我们可以编写 read() 来检索 N 次。结果集?

SqlMapper.GridReader result = _connection.QueryMultipleAsync(model.APIName, oPara, commandType: CommandType.StoredProcedure).Result;

dynamic dyn = result.Read();
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc dapper asp.net-web-api dapper-extensions

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

Dapper.net,指定的转换无效。不能使用float类型

我有一个表,有一个名为“水”的字段,该字段中的数据类型为sql server 2008float。

在我的代码中,我也使用float

 public float? Water { get; set; }
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误消息。

{"Specified cast is not valid."}
{"Error parsing column 2 (Water=15.87 - Double)"}
Run Code Online (Sandbox Code Playgroud)

如果我将类型更改为double,则一切正常。

 public double? Water { get; set; }
Run Code Online (Sandbox Code Playgroud)

我回到数据库,水域的所有值都在0-100之间。有一些空值。

请向我解释为什么我必须使用double而不是float?

sql-server-2008 dapper

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

Skip and Take在Entity Framework中生成异常

执行以下查询时,我在InnerException中收到错误

{"OFFSET附近的语法不正确."FETCH语句中NEXT选项的使用无效.关键字'AS'附近的语法不正确.'OFFSET'附近的语法不正确.INFCH语句中NEXT选项的使用无效.语法不正确关键字'AS'.'OFFSET'附近的语法不正确.在FETCH语句中使用NEXT选项无效.关键字'AS'附近的语法不正确."}

C#代码:

var db = new DigilibEntities();

List<title> titles = new List<title>();

titles = db.titles
  .Include("themes")
  .Include("subjects")
  .Include("grades")
  .Where(x => x.themes.Count() == 0 || 
              x.subjects.Count() == 0 || 
              x.grades.Count() == 0)
  .OrderBy(x => x.id)
  .Skip(10)
  .Take(10)
  .ToList();
Run Code Online (Sandbox Code Playgroud)

.net c# sql linq entity-framework

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

C#DateTime数学 - 跨越前几个月

我刚刚在8月1日新月开始的代码中发现了一个DateTime数学错误.我将DateTime类成员设置为7天前的DateTime值.因此它应该在8月1日的价值将是7月25日

我在尝试从1减去7时清楚地看到了问题(DateTime.Now.Day-7).

那么如何创建一个始终有效的DateTime对象,无论它在哪个月份?

错误:

Year, Month, and Day parameters describe an un-representable DateTime.
Run Code Online (Sandbox Code Playgroud)

这是代码:

DateFrom = (new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day-7));
Run Code Online (Sandbox Code Playgroud)

从当前DateTime将此成员设置为7天前的正确方法是什么?

c# datetime

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