我正在尝试理解如何根据C#属性来计算初级类结构度量,例如ATFD (访问外部数据)和LCOM (方法中缺乏内聚力)。
如果一个方法访问另一个类的单个属性,这是否意味着该方法的ATFD得分为1?这是否会根据是否有支持私有字段而发生变化?
对于LCOM,当遵循NDepend列出的公式(例如 )时,该属性是计为字段还是计为方法(或两者都计)。
当我们有一个与属性相关的显式私有字段时,这是如何改变的-即,以下类A和C的LCOM差异是什么:
class A {
private int _b;
private int _bx;
public int B { get
我们有一个来自DB上下文的LINQ选择,如下所示:
public Category GetCategory(int categoryId)
{
Category result = null;
using (var db = new MyContext())
{
result = (from entry in db.Categories
where entry.CategoryId == categoryId
select entry).FirstOrDefault();
}
我使用实体框架实现了我认为相当标准的ASP标识。我向标准的AspNetUser表添加了几个属性,但是我将username列作为非空列。
但是,当SignInManager处理PasswordSignInAsync时,它生成以下PasswordSignInAsync:
SELECT TOP (1)
[Extent1].[Id] AS [Id],
[Extent1].[FullName] AS [FullName],
[Extent1].[ClientId] AS [ClientId],
[Extent1].[FirstName] AS [FirstName],
[Extent1].[L
我在这里有一个无聊的脚本,我正在MATLAB R2013b中执行:
clear all;
n = 2000;
times = 50;
i = 0;
tCPU = tic;
disp 'CPU::'
A = rand(n, n);
B = rand(n, n);
disp '::Go'
for i = 0:times
CPU = A * B;
end
tCPU = toc(tCPU);
tGPU = tic;
disp 'GPU::'
A = gpuArray(A);
B = gpuArray(B);
disp '::Go
我试图从一个可以为空的对象数组(数组)中获取一个属性,但我总是得到一个空引用异常。
我如何告诉LINQ在它为空或返回空字符串的情况下不处理它?
foreach (Candidate c in candidates) {
results.Add(new Person
{
firstName = c.firstname, //ok
lastName = c.Name, //ok
// contactItems is an array of ContactItem
// so it can be null
struct node* ShuffleMerge(struct node* a, struct node* b) {
struct node* result;
struct node* recur;
if (a==NULL) return(b); // see if either list is empty
else if (b==NULL) return(a);
else {
// it turns out to be convenient to do the recursive call first --
// otherwise a->next and b-&g
我有一个c#类Person和Note,它们映射到Server表并与实体框架一起使用。在Person数据模型中,Note是延迟加载的:
public class Person {
public int PersonId { get; set; }
public int PersonType { get; set; }
public int? NoteId { get; set; }
public virtual Note Note { get; set; }
}
当我使用linq查询时,在查询开始时显式使用Include有什么好处吗?这也是:
personCou
在我的演示解决方案中,我有两个项目DataAccess和WebInterface。
在DataAccess项目中,我有一个用于用户的EF和一个类文件UserDataAccessService.cs
UserDataAccessService.cs中的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using System.Data.EntityClient;
using System.Data.SqlClient
这是一个SQL查询:
SELECT Website,VendorID,Name,LinkProduct,
Link,Logo,Image,NameExtra as Industry,
(SELECT [Percent] FROM Web_Promotion
WHERE Web_Promotion.VendorID=Web_Vendor.VendorID)
AS PercentOff
FROM Web_Vendor WHERE Active='1' AN
异常的堆栈跟踪是:
System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi,
DateTimeStyles styles)
at lambda_method(Closure , **MyType** )
at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
at System.Collections.Generic.Li
如果我有这样的课
public class Test
{
public string Id {get; set;}
public string Name {get; set;}
public int Value {get; set;}
}
然后:
List<Test> values = new List<Test>(); // this contains let's say 10 items
我确实喜欢这样:
var grouped = values.Where(x=>x.Value > 10).GroupBy(x=>x.Na
所以我有一些代码,我尝试在浏览器中,当我发现我也需要它在互联网上的功能,explorer...could,谁能告诉我如何让它在IE中完整的功能?
我知道它可能必须有自己的代码,我会让它成为functional...if我知道为什么IE不正确地格式化表格,而不是为每个7放置一行
<div id="calendar"></div>
<script>
function calendar(month) {
//Variables to be used later. Place holders right now.
在linq中,针对这样的数据库对实体进行真正的查询工作得很好。在尝试使用linq对对象进行单元测试时,我会得到一个空引用异常。
我在linqPad上复制了它。
void Main()
{
var _news= new [] {new {ID=0, ExpiryDate=(DateTime?)null }, new {ID=1,ExpiryDate=(DateTime?)DateTime.UtcNow.AddDays(-1)}};
var _newsRegionSource = new RegionSource[]{};
var _entitledRegions=new
我使用的是实体框架(首先是代码),在LINQ查询中找到指定子句的顺序会对性能产生巨大影响,例如:
using (var db = new MyDbContext())
{
var mySize = "medium";
var myColour = "vermilion";
var list1 = db.Widgets.Where(x => x.Colour == myColour && x.Size == mySize).ToList();
var list2 = db.Widgets.Where(x =&g
我有以下LINQ查询
from p in dc.Purchases
where invoiceNumber == null || p.InvNumber == invoiceNumber.Value
select p;
'invoiceNumber‘是一个可空的整型-当它为空时,程序抛出一个’可空对象必须有一个值错误‘。为什么它会先显式地检查它是否为null呢?有什么办法可以解决这个问题吗?
谢谢,