小编Tho*_*ker的帖子

通过WCF发送通用存储库的最佳方法是什么?

我有一个像这样的存储库:

public abstract class DbRepository : IDbRepository
{
    public TEntity Insert<TEntity>(TEntity entity) where TEntity : class
    {
        _context.Entry(entity).State = EntityState.Added;
        return entity;
    }

    public TEntity Update<TEntity>(TEntity entity) where TEntity : class
    {
        _context.Entry(entity).State = EntityState.Modified;
        return entity;
    }
}
Run Code Online (Sandbox Code Playgroud)

服务合同如下:

[ServiceContract]
public interface IDbRepository
{
    [OperationContract]
    TEntity Insert<TEntity>(TEntity entity) where TEntity : class;
    [OperationContract]
    TEntity Update<TEntity>(TEntity entity) where TEntity : class;
}
Run Code Online (Sandbox Code Playgroud)

现在我知道我不能通过wcf发送这个,我必须使开放的泛型类关闭.但问题是我的域数据存储库中有很多实体,我希望它应该由客户端决定它所需要的实体可能是通过反射或预定义的已知类型.

所以我的问题是:有没有聪明或虚假的方式通过wcf发送这些泛型服务?我的目标是我不想为每个实体编写此服务合同.非常感谢.

编辑:伙计你在下面的app.config文件中看到过 这里 Tweak:

<endpoint 
    address="myAddress" binding="basicHttpBinding" 
    bindingConfiguration="myBindingConfiguration1"
    contract="Contracts.IEntityReadService`1[[Entities.mySampleEntity, Entities]],   Service.Contracts"  />
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这个合同是如何实施的.有没有人试图在app.config文件中实现这个调整.我已经尝试过,但现在还没有为我工作.需要帮助答案!

c# generics wcf

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

如何在将行推送到 pgsql 之前验证它是否合规?

说表结构是这样的:

CREATE TABLE foo (
    id INTEGER  NOT NULL,
    enter_time TIMESTAMP NOT NULL,
    comment TEXT
);   
Run Code Online (Sandbox Code Playgroud)

现在在python中,说我得到这样的数据:

foo_user = {"id": 123, "enter_time": None, "comment": ''}
Run Code Online (Sandbox Code Playgroud)

在将其发送到 pgsql 之前,如何手动验证这些数据?

是否有任何库已经通过从 pgsql 中提取模式信息并对其进行验证来做到这一点?

python database postgresql validation python-3.x

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

在Clickonce部署中以必备条件安装SAP Crystal Report

我有一个使用水晶报表的客户端WPF。现在,在客户端计算机中,我必须分别安装Crystal Report和该应用程序。有没有办法将其与应用程序安装连接?

我尝试将其添加为发布属性中的必需内容,但是由于它在.NET Framework 4.0文件夹的Crystal Reports下在本地计算机上找不到,因此在发布过程中会出现错误。

c# installation clickonce crystal-reports visual-studio

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

c# DataGrid BindingListCollectionView 自定义过滤器引发聚合函数平均值的无效使用

我有一个集合视图,我想在其中应用大于平均水平的过滤器。问题是列类型是字符串。因此,正常大于任何数字在转换为双精度类型后都可以完美工作,问题是如何求平均值。我尝试了以下代码:

collectionView.CustomFilter = $"CONVERT({col}, 'System.Double') > AVG([{col}])";
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,它会中断,因为 AVG 无法应用于字符串类型。但是当我试图把

AVG([CONVERT({col}, 'System.Double')])
Run Code Online (Sandbox Code Playgroud)

它不评估转化。

有什么建议可以克服它吗?

c# wpf datatable bindinglist collectionviewsource

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

实体框架代码优先:查询没有主键的视图

我们的客户可以访问没有定义主键的视图.我知道实体框架需要一个主键来表识别.

但是对于没有主键的视图,仍然可以查询.

我试图找到但总是实体框架给出错误说:

错误:: EntityType'ViewWeight'没有定义键.定义此EntityType的键.

我理解密钥对于表很重要,但对于只是为了读取的视图,有任何黑客或方法来读取值而不修改视图本身.

sql oracle entity-framework view ef-code-first

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