在此查询中:
public static IEnumerable<IServerOnlineCharacter> GetUpdated()
{
var context = DataContext.GetDataContext();
return context.ServerOnlineCharacters
.OrderBy(p => p.ServerStatus.ServerDateTime)
.GroupBy(p => p.RawName)
.Select(p => p.Last());
}
Run Code Online (Sandbox Code Playgroud)
我不得不把它切换到这个才能工作
public static IEnumerable<IServerOnlineCharacter> GetUpdated()
{
var context = DataContext.GetDataContext();
return context.ServerOnlineCharacters
.OrderByDescending(p => p.ServerStatus.ServerDateTime)
.GroupBy(p => p.RawName)
.Select(p => p.FirstOrDefault());
}
Run Code Online (Sandbox Code Playgroud)
我甚p.First()至无法使用镜像第一个查询.
为什么在这样一个强大的ORM系统中存在这样的基本限制?
我有2个子查询,但是我无法从同一个表中将列连接在一起.我试过了:
SELECT * FROM
(SELECT userid, listid
FROM user_views_table
WHERE date='2013-05-15' AND view_type='lists') a
JOIN
(SELECT sourceid, destinationid
FROM actions_table
WHERE date='2013-05-15' AND payloadtype='lists_user' AND actiontype='delete') b
ON a.userid = b.sourceid
ON a.listid = b.destinationid;
Run Code Online (Sandbox Code Playgroud)
如果我只是用ON a.userid = b.sourceid它结束查询工作,但我怎么也可以在另一列上加入这些表ON a.listid = b.destinationid?
任何帮助赞赏.
我已经阅读了类似的帖子,但我无法弄清楚问题.
我更改了Windows权限并更改了路由.
当我尝试保存文件时,它会抛出异常:
访问路径****被拒绝.
string route="D:\\";
FileStream fs = new FileStream(route, FileMode.Create); <--here is the problem
StreamWriter write = new StreamWriter(fs);
patient person = new patient();
patient.name = textBox1.Text;
patient.name2 = textBox2.Text;
Run Code Online (Sandbox Code Playgroud) 关于WPF网格控件,我有一个非常简单的问题.
我想在网格中的每一行设置一个底部边框,但只能找到如何在每个单元格周围放置所有4个边框..我的代码非常简单
<Grid Height="174" HorizontalAlignment="Left" Margin="23,289,0,0" Name="grid2" VerticalAlignment="Top" Width="730">
<Grid.RowDefinitions>
<RowDefinition Height="45" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="255" />
<ColumnDefinition Width="95" />
<ColumnDefinition Width="95" />
<ColumnDefinition Width="95" />
<ColumnDefinition Width="95" />
<ColumnDefinition Width="95" />
</Grid.ColumnDefinitions>
</Grid>
Run Code Online (Sandbox Code Playgroud)
对于我正在使用的另一个网格需要所有四个边界,我正在使用
<Border Grid.Column="0" Grid.Row="0" BorderBrush="#61738B" BorderThickness="1" />
Run Code Online (Sandbox Code Playgroud)
PS网格的内容是一些标签,文本框等.如果这很重要的话.
感谢任何指针.
中号
我已经获取了List<>下面的对象(with .Include()):
List<vDetail> entityvDetails =
context.vDetails
.Include("payInstallment.appsDetail")
.Include("payInstallment.appsDetail.application")
.Include("payInstallment.appsDetail.purposes")
.Where(e => e.vch_id == 123).ToList();
Run Code Online (Sandbox Code Playgroud)
然后在前面的代码中的某处我尝试过滤实体记录,如下所示:
foreach (vDetail item in lstVDetails)
{
...
int purposeId = entityvDetails.Where(e => e.sad_id == item.sad_id).FirstOrDefault().payInstallment.appsDetail.purposes.prp_id;
...
}
Run Code Online (Sandbox Code Playgroud)
代码编译完美.但是,运行时返回跟随错误(尽管包括所有导航):
Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)
所以我设置使用监视窗口进行调试.现在在观察窗口中分析以下语句时:
entityVoucherDetails.Where(e => e.sad_id == item.sad_id).FirstOrDefault()
Run Code Online (Sandbox Code Playgroud)
监视窗口生成以下错误:
表达式不能包含lambda表达式.
如果有人能告诉我可能是什么原因?
<DataGridTextColumn Binding="{Binding Name}" Width="*"/>
<DataGridTextColumn Binding="{Binding Change}" Width="Auto"/>
Run Code Online (Sandbox Code Playgroud)
当Change更新的值时,其列不会更新以适合新值.因此列保持太小并且值被剪裁.
有任何想法吗?
我有一些代码旨在获取目录中的文件,这很简单
foreach (var Totalfile in new DirectoryInfo(rootfolder).GetFiles("*Totals*.csv", SearchOption.TopDirectoryOnly))
Run Code Online (Sandbox Code Playgroud)
文件命名如下:
Totals.CSV142344
Totals.CSV142409
Totals.CSV142433
Totals.CSV142501
Totals.CSV142528
Run Code Online (Sandbox Code Playgroud)
我的问题是它没有选择最后一个文件。
我已经修复了代码,改为:
foreach (var Totalfile in new DirectoryInfo(rootfolder).GetFiles("*Totals*.csv*", SearchOption.TopDirectoryOnly))
Run Code Online (Sandbox Code Playgroud)
说获取包含 Totals 和 .csv 的任何文件,以及 .csv 之后的任何内容。
我不明白的是为什么它获得了前四个文件,而不是底部。
我原以为原始代码不会提取任何文件?
我decimal在C#中进行了简单的转换.它看起来像这样:
private decimal BaseValue
{
get; set;
}
public decimal ConvertedValue
{
get
{
return BaseValue * (365 / 360);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用.我假设因为C#正在处理分数中的数字作为整数.所以我可以这样做(有效):
public decimal ConvertedValue
{
get
{
return BaseValue * (decimal)((double)365 / (double)360);
}
}
Run Code Online (Sandbox Code Playgroud)
现在这看起来有点像矫枉过正,但我可以忍受.我的主要问题是:
为什么Visual Studio警告我'演员是多余的',对于
(double)演员来说?如果我移除了(double)演员阵容,那么(decimal)演员阵容将变得多余.如果我删除它,那么我回到解决方案,这是行不通的.救命...?
我在SO上找到了这个代码示例(不记得从哪里:/),它允许我在启动我的应用程序时检查行代码参数:
if (e.Args.Length == 0 || e.Args.Any("-show".Contains))
{
//show interface...
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法理解它是如何"-show".Contains工作的.如果与(经典)有任何区别x => x.Contains('"-show")(除了明显的打字增益).
工作就像一个魅力,但我想明白为什么,我觉得一些大的东西是hapening.
我有多个属性的类;
public class Employee
{
public string TYPE { get; set; }
public int? SOURCE_ID { get; set; }
public string FIRST_NAME { get; set; }
public string LAST_NAME { get; set; }
public List<Department> departmentList { get; set; }
public List<Address> addressList { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
有时这个对象会让我在任何属性中都有价值
Employee emp = new Employee();
emp.FIRST_NAME= 'abc';
Run Code Online (Sandbox Code Playgroud)
剩余值为空.还行吧
但是,如何检查对象属性中的所有值何时为空
喜欢string.IsNullOrEmpty()对象?
我正在这样检查;
if(emp.FIRST_NAME == null && emp.LAST_NAME == null && emp.TYPE == null && emp.departmentList == null ...)
Run Code Online (Sandbox Code Playgroud)