小编Ric*_*ard的帖子

在C#中加密和解密字符串

在C#中满足以下内容的最现代(最佳)方式是什么?

string encryptedString = SomeStaticClass.Encrypt(sourceString);

string decryptedString = SomeStaticClass.Decrypt(encryptedString);
Run Code Online (Sandbox Code Playgroud)

但最小的涉及盐,键,与字节[]等混乱的大惊小怪等.

谷歌搜索和混淆我发现的东西(你可以看到类似的SO Q列表,看这是一个欺骗性的问题).

c# encryption

330
推荐指数
6
解决办法
57万
查看次数

如何解耦IoC框架实现

我一直在学习IoC,依赖注入等,并享受这个过程.对我来说,解耦和编程接口的好处是不费吹灰之力的.

但是,我真的不喜欢将自己绑定到像Unity或Autofac或Windsor这样的特定框架 - 因为我还在学习并且尚未确定哪个最适合我的目的.

那么,我怎么能把像Unity这样的东西包裹起来,这样我以后就可以轻松换掉温莎呢?(管他呢).并且你不敢说用另一个注入第一个;)

谢谢!

R.

Ps我标记Unity,因为这是我目前的个人偏好(我只是在使用Entlib).

c# enterprise-library dependency-injection inversion-of-control unity-container

15
推荐指数
3
解决办法
2514
查看次数

文本转换和查找实体复数(集合)

如果我有.tt模板,我可以使用entity.Name来写出实体的名称,例如:

foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{;
    WriteLine(entity.Name); 
}
Run Code Online (Sandbox Code Playgroud)

使用正常转换或T4,如何写出实体集的实际名称?(例如,对于Person,它可能是人物 - 但也许我将其更改为设计师中的People,所以我想要那样做).

谢谢!

理查德

css t4 entity-framework entity-framework-4

13
推荐指数
2
解决办法
2217
查看次数

在没有存储库的实体框架中可重用查询.怎么样?

让我说,我已经得出结论(经过大量试验),使用实体框架时,存储库和工作单元是错误的,错误的,错误的,这就说明了为什么这么好.

但我真的很讨厌这些嵌入式查询.问题是,如果我是如此反对存储库等,我可以在哪里放置它们?(只有请干净的答案,非常感谢的例子).

我刚刚完成了两个包含我的存储库,工作单元和数百个文件接口的项目,因为回报无处可见.我认为很多人,包括我自己,只是跳上了Repository的潮流,因为这是其他所有人都在做的事情,但回想起来,我认为这真是一个无处可去的地方.

/叹

理查德

entity-framework unit-of-work repository-pattern

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

实体框架 - 行大小大于允许的最大行大小8060

我有一个实体具有二进制数据类型和varbinary(max)SQL Server中的相应列.EF创建了这个:

CREATE TABLE [dbo].[Attachments] 
(
    [Id] INT IDENTITY(1,1) NOT NULL,
    [FileName] NVARCHAR(255) NOT NULL,
    [Attachment] VARBINARY(MAX) NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

当我尝试.SaveChanges()从Entity Framework 调用时,出现错误:

无法创建大小为8061的行,该行大于允许的最大行大小8060

我理解错误,谷歌有很多,但我不明白为什么我得到它.这不应该由Entity Framework/SQL Server管理吗?

理查德

sql-server entity-framework sql-server-2008

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

继承的C#类失去"参考"

我有一个使用接口的部分类,因为我无法继承原始抽象类,因为其他部分类是从Entity Framework 4自动生成的,因此已经继承了ObjectContext.

我的部分课程有以下内容:

namespace Model
{
    using Microsoft.Practices.EnterpriseLibrary.Validation;
    using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
    using Utilities.BusinessRules;
    using Utilities.BusinessRules.Rules;

    [HasSelfValidation]
    public partial class MyObject : IBusinessObject
    {
        private readonly IBusinessObject businessObject = new BusinessObject();

        private IBusinessObject BusinessObject
        {
            get
            {
                return businessObject;
            }
        }

        public Comment()
        {
            AddRule(new ValidateRequired("Title"));
        }

        public void AddRule(BusinessRule rule)
        {
            BusinessObject.AddRule(rule);
        }

        [SelfValidation]
        public void Validate(ValidationResults results)
        {
            BusinessObject.Validate(results);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是界面:

namespace Utilities.BusinessRules
{
    using Microsoft.Practices.EnterpriseLibrary.Validation;

    public interface IBusinessObject
    {
        void AddRule(BusinessRule rule);

        void Validate(ValidationResults results);
    } …
Run Code Online (Sandbox Code Playgroud)

c# inheritance entity-framework-4

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

DbContext ChangeTracker:添加的审核实体的ID

我有这样的事情:

public override int SaveChanges()
{
    foreach (var changeLog in this.ChangeTracker.Entries()
        .Where(p => p.State == EntityState.Added ||
               p.State == EntityState.Deleted ||
               p.State == EntityState.Modified)
        .SelectMany(entity => AuditRecords(entity)))
    {
        this.ChangeLogs.Add(changeLog);
    }

    return base.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

但是,当然,当添加EntityState时(直到SaveChanges之后),审计的更改日志将不包含实体的主键值.如何获取更改审核目的的主键值?

理查德

.net entity-framework entity-framework-4 ef-code-first dbcontext

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

如何检查模型中是否存在DbContext.Set <T>?

我有一种情况,我可能正在使用多个DbContexts,可能包含或不包含SomeEntity的DbSet.

当然,如果我触发SaveChanges并且此实体不存在,将发生以下错误:

实体类型SomeEntity不是当前上下文的模型的一部分.

我如何检查模型中是否存在实体或实体集,如果不存在,则将有问题的代码短路?

理查德

entity-framework ef-code-first dbcontext

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

HttpContext.GetGlobalResourceObject始终为类库中的null

我的Web应用程序中的App_GlobalResources中有一个resx文件,调用时带:

Resources.GetResource("ResourceFileName", "Resource")
Run Code Online (Sandbox Code Playgroud)

辅助方法存在于单独的类库中以获取资源值:

using System.Resources;
using System.Web;

public static class Resources
{
    public static string GetResource(string resource, string key)
    {
        try
        {
            string resourceValue = (string)HttpContext.GetGlobalResourceObject(resource, key);

            return string.IsNullOrEmpty(resourceValue) ? string.Empty : resourceValue;
        }
        catch (MissingManifestResourceException)
        {
            return string.Empty;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我点击F5,一切正常.如果我部署到Web服务器,则对GetGlobalResourceObject的所有调用都将返回null.

资源存在.我怎么把它们拿出来?

谢谢,

理查德

c# asp.net

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

在MVC3中使用WebApi

使用WebApi,在MVC客户端中使用服务的最佳方式是什么?

如果回复如下:

<?xml version="1.0" encoding="UTF-8"?>
<ArrayOfContact 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Contact>
        <Id>1</Id>
        <Name>Bilbo Baggins</Name>
    </Contact>
    <Contact>
        <Id>2</Id>
        <Name>Frodo Baggins</Name>
    </Contact>
</ArrayOfContact>
Run Code Online (Sandbox Code Playgroud)

如何使用@Model将我的联系人输出并在MVC3 Razor View中列出?

WebApi的最新预览在网上很多例子,但我找不到任何更进一步的例子,并且显示客户正在使用该服务,比如说使用WebClient.

谢谢,

R.

razor asp.net-mvc-3 wcf-web-api

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

从字符串解析枚举值时避免异常?

在这个例子中:

try
{
    this.myEnum = (MyEnum)Enum.Parse(typeof(MyEnum), queryStringKeyValue);
}
catch (Exception)
{
    this.myEnum = null;
}
Run Code Online (Sandbox Code Playgroud)

如何避免引入依赖于捕获泛型异常?我从ReSharper那里得不到任何线索.理想情况下,我想摆脱try/catch.

.net c#

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