标签: dapper-extensions

带有 GUID Id 的简洁 CRUD

我对 Dapper 和 Dapper.SimpleCRUD ( https://github.com/ericdc1/Dapper.SimpleCRUD )还很陌生,所以如果我有点笨,请原谅。我有一个使用 GUID Id(主键)而不是自动递增 int Id 的现有数据库。看起来 Dapper/SimpleCRUD 假设是后者。我想我也许能够找到替代方案(也许是精巧的扩展?),但我想知道是否有人遇到过这个并对其进行了调整/找到了其他解决方案。Dapper Extensions ( https://github.com/tmsmith/Dapper-Extensions ) 似乎也基于 int Ids。感谢您的建议。

orm dapper dapper-extensions

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

Dapper - Bulk insert of new items and get back new IDs

I am using dapper to add multiple new students in one db hit using this method:

db.ExecuteAsync(@"INSERT Student(Name,Age) values (@Name,@Age)", 
  students.Select(s => new { Name = s.Name, Age = s.Age })
);
Run Code Online (Sandbox Code Playgroud)

But the problem I don't have the new ids.

Can I make one db hit and still some how get the new ids ?
And if not, what is the most efficient way of performing such bulk insert ?

sql bulkinsert c#-4.0 dapper dapper-extensions

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

Dapper.net错误与SqlMapper.cs

我使用vb.net和微型ORM DAPPER.NET启动了一个新项目。通过nuGet,我集成了dapper和dapper.simpleCRUD。我要执行某些CRUD操作时出现问题,我对SqlMapper.cs有问题。我不知道为什么,因为我已成功将“ dapper.simpleCRUD”扩展集成到项目中。怎么了?

错误

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

我尝试手动添加SqlMapper.cs文件,我得到了:

在此处输入图片说明

c# vb.net dapper dapper-extensions

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

Dapper 扩展 Ms Access System.Data.OleDb.OleDbException

我刚开始使用 Dapper。Dapper 工作正常。作为我尝试与 Dapper Extension 集成的下一步。它生成一个名为 System.Data.OleDb.OleDbException 的异常,"Additional information: Characters found after end of SQL statement."这是为什么?Dapper Extension 不支持 Ms Access(因为结束字符)或我的代码有问题或我遗漏了一些东西。我的代码在下面

using (var conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myAccessFile.accdb;"))
{
    conn.Open();
    conn.Insert<Person>(new Person { Name = "John Stan", Age = 20 });
}
Run Code Online (Sandbox Code Playgroud)

ms-access dapper dapper-extensions

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

无法使用Dapper.NET将文件流插入SQL文件表

我在项目中使用Dapper.NET作为ORM层。我正在尝试为文件上传和下载编写WebApis。但是我无法使其工作。我已经进行了足够的搜索以寻求帮助,但找不到任何帮助。

如果仅使用ADO.NET,则可以将VarBinary类型的SqlParameter用于文件流。但是Dapper.NET查询参数只是动态对象。因此,以下代码无法将记录插入到文件表中。

var fileStream = await Request.Content.ReadAsStreamAsync();

var streamId = Guid.NewGuid();
var fileName = streamId.ToString();

var sql = @"Insert into Attachments(stream_id, file_stream, name)
            Values(@streamId, @fileStream, @fileName)";

using (var db = new SqlConnection(AppConfig.ConnectionString))
{
    await db.ExecuteAsync(sql, new { streamId, fileStream, fileName);
}

fileStream.Close();
Run Code Online (Sandbox Code Playgroud)

引发异常:mscorlib.dll中的“ System.NotSupportedException”

附加信息:类型System.IO.Stream的成员fileStream不能用作参数值

有没有人这样做或知道我可以使用的任何dapper扩展插件?

c# sql ado.net dapper dapper-extensions

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

DapperExtensions MySQL INSERT集ID

如果我上课:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用Dapper / DapperExtensions将其插入到相应的MySQL表中:

var person = new Person { Id = 10, Name = "Bobby" };
connection.Insert(person);
Run Code Online (Sandbox Code Playgroud)

假设MySQL中的Id列设置为AUTO_INCREMENT且该表为空。然后将Id值10更改为1。

是否可以使用Dapper / DapperExtensions插入正确的ID 10?

c# mysql dapper dapper-extensions

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

如何在 dapper 扩展中使用 DESC 顺序根据 Order by 子句对数据进行排序?

我想按 DESC 顺序对数据进行排序。这是我的代码:

var predicate = Predicates.Sort<myPoco>(x => x.name, false);
var result = GetList<myPoco>(predicate).ToList();

protected IEnumerable<T> GetList<T>(object predicate, IList<ISort> sort = null, IDbTransaction transaction = null, int? commandTimeout = null, bool buffered = false) where T : class
{
    var result = connection.GetList<T>(predicate, sort, transaction, commandTimeout, buffered);
    return 
}
Run Code Online (Sandbox Code Playgroud)

使用 Dapper Extensions,我无法对数据进行排序。上面的代码抛出以下错误:

找不到属性名称...

我正在myPoco使用 Dapper Extension 的ClassMapper.

sorting c#-4.0 dapper dapper-extensions

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

有没有办法使用 Dapper 的一些 .Insert 扩展方法将属性映射到列名?

我在这门课上遇到了以下挑战:

Public Class MyClass
    Property Id As Integer
    Property LastName as String
End Class
Run Code Online (Sandbox Code Playgroud)

数据库中对应的数据表有如下字段: Id (int, not null) Last-Name (nvarchar(80),null)

所以我需要映射MyClass.LastNameMyClasses.Last-Name并度过一段地狱般的时光......

当我编写自定义插入查询时,一切正常,但我想使用 Dapper 扩展包之一的 .Insert 语句。

我尝试过 Dapper.Contrib,但这会忽略我使用 Dapper.FluentMap 或使用 Dapper 本身的内置方法创建的映射Dapper.SetTypeMap

我尝试了 Dapper.FastCrud,但我无法弄清楚如何为其配置映射,尽管这个 API 看起来很有前途。

任何人?

dapper dapper-extensions dapper-fastcrud dapper-contrib

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

如何使用 Dapper 扩展谓词实现“IN”子句?

我想使用 Dapper Extensions Predicate 替换此查询?

SELECT * 
FROM SomeTable 
WHERE id IN (commaSeparatedListOfIDs)
Run Code Online (Sandbox Code Playgroud)

commaSeparatedListOfIDsIEnumerable一个Integer

到目前为止我已经尝试过:

using (SqlConnection cn = new SqlConnection(_connectionString))
{
    cn.Open();
    var predicate = Predicates.Field<SomeTable>(f => f.Id, Operator.???, commaSeparatedListOfIDs);
    IEnumerable<SomeTable> list = cn.GetList<SomeTable>(predicate);
    cn.Close();
}
Run Code Online (Sandbox Code Playgroud)

我需要一个操作符Operator.In,但它在 Dapper Extensions 中不存在。

我应该如何使用 Dapper Extensions Predicate 系统实现“IN”子句?

c# dapper dapper-extensions

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

MySQL + Dapper 扩展:SQL 语法错误

我正在尝试使用 Dapper Extensions 进行 CRUD 操作。但是在将数据插入 MySQL 数据库时出现错误,如下所示:

错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 [....] 行附近 [......] 使用的正确语法

如果我使用 MSSQL 数据库,Dapper Extensions 工作正常。为什么我在使用 MySQL 时出现此错误?

dapper dapper-extensions mysql-8.0

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

获取从 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
查看次数

为什么我不能在 C# 中将“this”设置为值?

我正在使用 Dapper.net 扩展,我希望能够检索照片对象并将“this”设置为它,而不必单独设置每个属性。实现这一目标的最佳方法是什么?在下面的代码中,它说我无法分配给“this”,因为它是只读的。

public class Photo
{
    public Int32 PhotoId { get; set; }
    public Guid ObjectKey { get; set; }
    public Int16 Width { get; set; }
    public Int16 Height { get; set; }
    public EntityObjectStatus ObjectStatus { get; set; }
    public PhotoObjectType PhotoType { get; set; }
    public PhotoFormat2 ImageFormat { get; set; }
    public Int32 CategoryId { get; set; }

    public Photo(int pPhotoId)
    {
        Load(pPhotoId);
    }

    public void Load(int pPhotoId)
    {
        using (SqlConnection conn = new SqlConnection(Settings.Conn)) …
Run Code Online (Sandbox Code Playgroud)

c# dapper dapper-extensions

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