标签: ormlite-servicestack

具有多个字段的 OrmLite UpdateOnly 示例

是否可以使用 OrmLite 扩展方法UpdateOnly一次更新多个字段?

文档中给出的示例是:

db.UpdateOnly(new Person { FirstName = "JJ" }, p => p.FirstName);
Run Code Online (Sandbox Code Playgroud)

我可以提供一个包含多个字段的表达式吗?如果是这样,鉴于字段可能是不同的数据类型,最好使用什么运算符。

servicestack ormlite-servicestack

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

为什么我无法将 ServiceStack Ormlite 连接转换为 SqlConnection?

我正在尝试使用SqlBulkCopyServiceStack Ormlite编写了以下扩展方法:

public static void BulkInsertSqlServer<T>(this IDbConnection dbConn, string targetTable, IEnumerable<T> data, params string[] columns)
{
  Ensure.NotNull(dbConn);
  Ensure.That(dbConn.State == ConnectionState.Open);
  Ensure.NotNullOrEmptyOrWhiteSpace(targetTable);
  Ensure.NotNull(data);
  Ensure.NotNullOrEmpty(columns);

  var sqlConnection = dbConn as SqlConnection;

  using (var bcp = new SqlBulkCopy(sqlConnection))
  using (var reader = ObjectReader.Create(data, columns))
  {
      bcp.BatchSize = data.Count();
      bcp.DestinationTableName = targetTable;
      bcp.WriteToServer(reader);
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用的:

_connFactory = new OrmLiteConnectionFactory(connStr, SqlServerOrmLiteDialectProvider.Instance);

using (var db = _connFactory.Open())
using (var tran = db.BeginTransaction())
{
    db.BulkInsertSqlServer("User", users, "Name", "Age");

    var allRoles = new …
Run Code Online (Sandbox Code Playgroud)

.net c# sqlconnection ormlite-servicestack

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

无法从 OrmLiteConfigExtensions (ServiceStack.OrmLite.Core) 加载 System.ComponentModel.Annotations

使用ServiceStack.OrmLite.Core包 (5.4.1) 并尝试通过执行以下操作获取ModelDefinition( ServiceStack.OrmLite.ModelDefinition)时出现运行时错误:

var model = ModelDefinition<T>.Definition;
Run Code Online (Sandbox Code Playgroud)

错误如下:

System.IO.FileLoadException: 'Could not load file or assembly 'System.ComponentModel.Annotations, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)'
Run Code Online (Sandbox Code Playgroud)

我试图安装 nuget System.ComponentModel.Annotations(4.5.0.0,因为 4.2.0.0 不可用)无济于事。我还尝试遇到 System.IO.FileLoadException 时建议的各种修复,但没有任何效果。

该项目是一个 .Net Framework 4.7.1 项目,但 .Net Standard 项目包含在解决方案中,因此我需要运行 ServiceStack.OrmLite 的 .Core 版本。

我已经在两个工作区(两台单独的机器)上尝试过这个,(1) 如上所述,(2) 解决方案中没有 .Net Standard 项目。在 (2) 机器上,它在运行非核心版本的 时工作ServiceStack.OrmLite,但发生切换到ServiceStack.OrmLite.Core …

.net c# servicestack ormlite-servicestack .net-core

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

是否可以创建批量插入?

我刚开始发现serviceStack ORMlite,我正在试图弄清楚如何进行批量插入.在任何地方都有这样的例子吗?

提前致谢

servicestack ormlite-servicestack

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

ServiceStack/ORM Lite - 外键关系

我有以下POCO:

[Alias("Posts")]
public class Post : IReturn<Post>
{
    [AutoIncrement]
    [PrimaryKey]
    public int PostId { get; set; }
    public DateTime CreatedDate { get; set; }
    [StringLength(50)]
    public string CreatedBy { get; set; }
    [StringLength(75)]
    public string Title { get; set; }
    public string Body { get; set; }
    public int UpVote { get; set; }
    public int DownVote { get; set; }
    public bool IsPublished { get; set; }

    public List<Comment> Comments { get; set; }
    public List<Tag> Tags { get; …
Run Code Online (Sandbox Code Playgroud)

servicestack ormlite-servicestack

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

有可能不使用数据注释属性ServiceStack OrmLite吗?

我正在尝试探索ServiceStack.OrmLite的功能,并且无法理解是否可以使用bootstrap类进行配置(外键,数据类型,列索引,别名等)?我不想在我的实体类上使用数据注释属性.即使使用某种配置也会比属性更好.那是因为我希望将来有机会更换ORM.也许存在用于流畅配置的第三方库?

data-annotations ormlite-servicestack

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

如何配置ormlit以支持不是主键的自动增量列?

我有一张桌子

CREATE TABLE [dbo].[ServiceTestCase](
    [SSN] [int] IDENTITY(600000001,1) NOT NULL,
    [Description] [varchar](max) NULL,
    [EmbeddedResponse] [varchar](max) NULL,
    [ResponseType] [varchar](50) NULL,
    [DocumentType] [varchar](50) NULL,
    [Id] [uniqueidentifier] NOT NULL,
    [ServiceType] [varchar](50) NOT NULL,
 CONSTRAINT [PK_TestCase] PRIMARY KEY CLUSTERED 
Run Code Online (Sandbox Code Playgroud)

我的课

public class ServiceTestCase
    {
        public ServiceTestCase ()
        {

        }
        public string ServiceType { get; set; }
          [ServiceStack.DataAnnotations.AutoIncrement]
        public Guid Id { get; set; }
        [ServiceStack.DataAnnotations.AutoIncrement]
        public long SSN { get; set; }
        public string Description { get; set; }
        public string EmbeddedResponse { get; set; …
Run Code Online (Sandbox Code Playgroud)

ormlite-servicestack

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

OrmLite和Common表表达式

我正在尝试运行类似的查询:

sql = @"with t(id) as (select 1 )
select * from Project 
where id > (select id from t)";

var projects = this.Db.Query<Project>(sql).ToArray();
Run Code Online (Sandbox Code Playgroud)

由于某种原因,OrmLite决定将sql视为"where"子句,因此最终运行的是这样的:

select field1, field2 from project where with t(id) .....
Run Code Online (Sandbox Code Playgroud)

它是否在查询的起始位置寻找"选择"?没有创建视图 - 有没有办法用CTE运行查询?

servicestack ormlite-servicestack

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

基于ormlite int的枚举作为varchar(max)

谁能告诉我如何正确地让ORMLite将枚举存储为整数?我知道这在2012年没有得到支持,但我发现一些单元测试的代码表明它应该现在可以正常工作,但事实并非如此.当我们尝试将列创建为ms sql中的varchar(max).我们目前使用一个被忽略的包装属性将枚举值转换为int,但是你不能将它用于查询等,所以它不太理想.

servicestack ormlite-servicestack

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

ServiceStack OrmLite多个相同类型的引用加载

在我的ServiceStack应用程序中,我正在实现一个简单的聊天,其中2个用户可以进行对话.为简单起见,我刚刚创建了一个TextMessages表,其中包含以下字段:

public class TextMessage
{
    [AutoIncrement]
    [PrimaryKey]
    public int Id { get; set; }

    [References(typeof(MyUserAuth))]
    public int FromUserId { get; set; }

    [References(typeof(MyUserAuth))]
    public int ToUserId { get; set; }

    [Reference]
    [ForeignKey(typeof(MyUserAuth))]
    public MyUserAuth FromUser { get; set; }

    [Reference]
    [ForeignKey(typeof(MyUserAuth))]
    public MyUserAuth ToUser { get; set; }

    //TimeZoneInfo.ConvertTimeToUtc(dateNow);
    public DateTime UtcReceivedOn { get; set; }

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

我的UserAuth继承了基础,并增加了2个字段:

public class MyUserAuth : UserAuth
{
    public List<TextMessage> TextMessagesAsAuthor { get; set; }

    public List<TextMessage> …
Run Code Online (Sandbox Code Playgroud)

.net c# servicestack ormlite-servicestack

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