标签: ormlite-servicestack

在ServiceStack.OrmLite中获取运行时的类的表名/避免硬编码表名

我使用ServiceStack.OrmLite并希望从表中获取行的总数.我现在做的在指出ServiceStack.OrmLite文件通过

db.Scalar<int>("SELECT COUNT(*) FROM User");
Run Code Online (Sandbox Code Playgroud)

但是,表的名称User可能会在将来发生变化,因此我正在寻找一种不对其进行硬编码的方法.是否有可能从其类中获取表的名称,例如ie

string table_name = db.GetTableName<User> ();
db.Scalar<int>("SELECT COUNT(*) FROM {0}", table_name);
Run Code Online (Sandbox Code Playgroud)

.net c# orm servicestack ormlite-servicestack

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

如何使用 ServiceStack OrmLite 选择表的计数

如何从表中选择计数并包含一个where子句来返回 a long?理想情况下我会使用db.Count而不是db.Select. 我只是不确定如何使用db.Count并且找不到相关文档。

long totalCount = 0;
using (IDbConnection db = dbFactory.OpenDbConnection())
{
    totalCount = db.Count<Content>( ?? );
}
Console.WriteLine(totalCount);
Run Code Online (Sandbox Code Playgroud)

servicestack ormlite-servicestack

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

使用 ServiceStack.OrmLite 如何添加具有默认值的布尔列?

我正在使用 C# 和最新版本的 ServiceStack.OrmLite (4.0.33),并且尝试将一列类型添加bool到包含现有数据的现有表中。我收到一个明显的错误,由于空值,我无法将列添加到现有表中,并且新列没有默认值。查看该Default属性,我看不出可以在哪里将默认值设置为false。我不希望该列允许空值。我无法想象以前没有这样做过。

一如既往,我们非常感谢任何帮助。

c# ormlite-servicestack

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

如何使用ServiceStack OrmLite两次两次将LeftJoin加入同一张表?

我的表结构如下所示:

table Tenant: Id[PK], etc
table Contact: Id[PK], FirstName, LastName etc
table Sale: Id[PK], TenantId[FK], SellerId[FK], BuyerId[FK], etc

SellerId is a FK to Contact.Id
BuyerId is a FK to Contact.Id
TenantId is a FK to Tenant.Id
Run Code Online (Sandbox Code Playgroud)

我想使用OrmLite生成类似于以下内容的SQL:

select  sale.*
    ,   buyer.FirstName 'BuyerFirstName'
    ,   buyer.LastName 'BuyerLastName'
    ,   seller.FirstName 'SellerFirstName'
    ,   seller.LastName 'SellerLastName'
from    sale
    left join
        contact seller
    on  sale.SellerId = seller.Id
    left join
        contact buyer
    on  sale.BuyerId = buyer.Id
where   tenantId = 'guid' -- this is being filtered at a …
Run Code Online (Sandbox Code Playgroud)

left-join servicestack ormlite-servicestack

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

使用 Servicestack ORMLite 加载所有分层引用

有没有办法使用 servicestack / ormlite 预加载所有嵌套和子嵌套引用?

 public class Person

{

    public int Id { get; set; }

    [References(typeof(Pants))]
    public int PantsId { get; set; }

    [Reference]
    public Pants Pants { get; set; }

}

public class Pants
{

    public int Id { get; set; }

    [References(typeof(Pocket))]
    public int PocketId { get; set; }

    [Reference]
    public Pocket Pocket { get; set; }

}

public class Pocket
{

    public int Id { get; set; }

    public int Depth { get; set; }

} …
Run Code Online (Sandbox Code Playgroud)

ormlite-servicestack

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

如何在 ServiceStack Ormlite 中进行计数(不同)?

我正在 ServiceStack 的 OrmLite 中编写分页查询,选择页面范围内的总记录和记录 id。假设query某个任意 SqlExpression 选择一堆记录:

var idQuery = query.SelectDistinct(r => r.Id);
var ids = Db.Column<int>(idQuery.Skip(request.Skip).Take(request.Take));
var total = Db.Count(idQuery);
Run Code Online (Sandbox Code Playgroud)

OrmLite 生成两个查询,其中一个针对 ids:

SELECT DISTINCT ...
Run Code Online (Sandbox Code Playgroud)

总数为一:

SELECT COUNT(*)
Run Code Online (Sandbox Code Playgroud)

我正在尝试让 OrmLite 生成SELECT COUNT(DISTINCT Id)总查询,或执行等效操作。这可能吗?

ormlite-servicestack

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

servicestack ormlite部分更新

我正在使用ServiceStack Ormlite对数据库表进行部分更新.

我有一个模特:

public class Model
{
    public int Id;
    public int Property1;
    public int Property2;
    public int Property3;
}
Run Code Online (Sandbox Code Playgroud)

但我只想更新字段Property1和Property2.

有人知道怎么做这个吗?

谢谢.

servicestack ormlite-servicestack

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

为什么servicestack服务路由到GET而不是PUT

本周我获准学习ServiceStack.我喜欢它.这是一个了不起的框架.但是我遇到了一个我无法得到一个相当直接的例子来工作的情况.(虽然它确实不像示例那样简单,但可能是更现实的一个例子.)

为这个长期问题提前道歉.

我有一个简单的DTO映射到这样的数据库......

[Description("Customer")]
[Alias("Customers")]
    public class Customer : IHasId<int>
    {
        [Alias("Id")]
        [AutoIncrement]
        public int Id { get; set;}

        [Required]
        public int CompanyId { get; set;}

        [Required]
        public string FirstName { get; set;}

        [Required]
        public string LastName { get; set;}

        public string MiddleInitial { get; set;}
        public string EmployerName { get; set;}
        public string ServiceLocationDescription { get; set;}
        public string Street1 { get; set;}
        public string Street2 { get; set;}
        public string City { get; set;}
        public string State { …
Run Code Online (Sandbox Code Playgroud)

servicestack ormlite-servicestack

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

在Servicestack.OrmLite中映射字段类型

假设我在DB中有一个字段,可能的值为'Y','N',NULL.我想在我的DTO中使用布尔属性('N',NULL - > false,'Y' - > true)来表示它.在查询/更新/插入期间,我可以以某种方式插入OrmLite来自行进行转换(两个方向,ofc)吗?谢谢

c# oracle servicestack ormlite-servicestack

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

如何使用ServiceStack OrmLite执行GroupBy语句

我正在对数据可视化进行一些查询,并依赖GroupBy,Avg,Sum和类似函数从数据库中获取一个好的数据集.

我想使用与ServiceStack OrmLite类似的GroupBy.在ShippersExample页面上,我看到以下查询.有更简单或更好的方法吗?

例如,我有一个"位置"列,想要查找条目的前5个位置,并列出这些位置的次数.我只有1个表,所以不需要加入.

    var rows = db.SqlList<ShipperTypeCount>(
       "SELECT {0}, COUNT(*) AS Total 
       FROM Shippers 
       GROUP BY {0} 
       ORDER BY Total".Fmt("ShipperTypeId".SqlColumn()));
Run Code Online (Sandbox Code Playgroud)

ormlite-servicestack

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

标签 统计

ormlite-servicestack ×10

servicestack ×6

c# ×3

.net ×1

left-join ×1

oracle ×1

orm ×1