我的申请包括三个项目.核心,DAL和BAL.
核心包含域对象(客户,订单,产品).它还包含基本的IRepository接口IRepository<T>.
DAL包含EntityFramework特定的东西.它还包含Concrete Repositories(CustomerRepository,OrderRepository,ProductRepository).我在这里添加了这些具体的存储库,因为它们依赖于DbContext(这是EF特定的)
现在我的BAL应该只依赖于Core而不依赖于DAL.我在这个项目中添加了对NInject的依赖.但是,我仍然需要告诉Ninject它应该将IRepository解析<Customer>为CustomerRepository,这迫使我在这里添加DAL依赖.无论如何避免在我的BAL项目中添加对DAL的依赖?
我得到以下文字:
1. This is a text
where each item can span over multiple lines
2. that I want to
extract each seperate
item from
3. How can I do that?
Run Code Online (Sandbox Code Playgroud)
我在 refiddle 中尝试了这个正则表达式:
/([\d]+\.)(.*)/s
Run Code Online (Sandbox Code Playgroud)
但我不确定它是贪婪的(只返回一个项目)还是它提取了所有项目。但是当我在 C# 中尝试它时,正则表达式不匹配任何东西。
我究竟做错了什么?
更新
它很不错,但没有用,因为\s在 .NET 中似乎不起作用。我可以自己修复行尾(因为它们被剥离了)。但是如何使正则表达式不贪婪?是否可以说类似的话
匹配数字+点,然后取除下一个数字+点之外的所有内容?
我有以下if声明:
VS告诉我Localizable string: "Select a Unit"
我已经浏览了全球化和本地化 .NET Framework 应用程序,但仍然不清楚本地化实际上是什么。
有人可以解释一下这是什么意思吗?
我从 !dumpheap -stat 得到以下行
000007fee09d6960 441762 835293368 System.String
Run Code Online (Sandbox Code Playgroud)
我很想知道 441 762 字符串的用途。做一个
!dumpheap -type System.String
Run Code Online (Sandbox Code Playgroud)
会列出所有,还是我错了?我怎样才能分析其中的一些?
很多时候,在设计接口时,我会一直遇到相同的情况.这种情况是使用接口的某些实现需要接口中的特定参数而其他实现不需要.
或者在这些情况下,我应该只参考一个参数列表(某些结构)并在每个实现中相应地处理该列表?
我正在使用自己的实体属性标记我的枚举,用于将枚举映射到案例管理系统中的相应字段.
从枚举值中获取正确的字符串工作正常,但如何从字符串生成枚举?
我开始这样做:
foreach (var fieldInfo in enumType.GetFields())
{
var attribute = (EntityNameAttribute)fieldInfo
.GetCustomAttributes(typeof (EntityNameAttribute), false)
.FirstOrDefault();
if (attribute == null)
continue;
if (attribute.Name != name)
continue;
//got a match. But now what?
}
Run Code Online (Sandbox Code Playgroud)
但是我如何从一个领域获得适当的价值呢?我可以用fieldInfo.GetValue吗?如果是这样,我应该使用什么实例?枚举应该被视为静态类型吗?
我正在考虑使用我的域模型 (DDD) 作为 RavenDb 中的文档。这是一个坏主意吗?
如果没有,我正在使用TodoListId包含id 的 id 类(如)(在乌鸦的情况下todolists/3等)。我如何告诉 Raven/JSON.NET 将它们用作 ID?
public class TodoListId
{
public class TodoListId(string id)
{
//validate the id and set internal var
}
//override ToString to return the id
}
public class TodoList
{
public TodoList(TodoListId id)
{}
public TodoListId Id{get;set;}
public TodoListId Parent {get;set;}
public string SomeBasicProperty {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
此外,当我使用 nhibernate 时,我通常将所有 setter 设置为 protected 以确保正确使用域模型。RavenDb 客户端也可以这样做吗?或者不会序列化工作呢?
todoList.Id.ToString()会回来todolists/1。
我写了一个简单的 php 页面,它也向我的几台运行 Windows 7 的计算机发送唤醒网络数据包。
如何检查计算机是否已开机(假设该位置的互联网工作正常)?
我可以在加载页面时如何 ping 计算机以检查响应吗?
附加信息:这些计算机都位于不同的位置,在那里它们为 IP 设置了动态 dns,并且都在与其他计算机一起位于路由器后面。
我使用以下查询来获取有关数据库中所有表的信息:
SELECT
t.NAME AS TableName,
i.name as indexName,
sum(p.rows) as RowCounts,
sum(a.total_pages) as TotalPages,
sum(a.used_pages) as UsedPages,
sum(a.data_pages) as DataPages,
(sum(a.total_pages) * 8) / 1024 as TotalSpaceMB,
(sum(a.used_pages) * 8) / 1024 as UsedSpaceMB,
(sum(a.data_pages) * 8) / 1024 as DataSpaceMB
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
WHERE
t.NAME NOT LIKE 'dt%' AND
i.OBJECT_ID > …Run Code Online (Sandbox Code Playgroud) c# ×7
.net ×1
architecture ×1
enums ×1
interface ×1
localization ×1
ninject ×1
nosql ×1
php ×1
plugins ×1
ravendb ×1
reflection ×1
regex ×1
sos ×1
sql ×1
sql-server ×1
windbg ×1
windows ×1