我有2张桌子,User和Employee.每个用户都被赋予一个User_ID,这是User表中的主键和表中的外键Employee.Employee表中的该属性也可以是主键吗?
我似乎有一个非常奇怪的问题,我真的不知道发生了什么.这是我正在尝试调试的源代码
StorageFile file = await roamingFolder.GetFileAsync(filename);
string text = await FileIO.ReadTextAsync(file);
string[] shows = text.Split(new[] { ":?;" }, StringSplitOptions.None);
List<show> showslist = new List<show>();
foreach (string splitshow in shows)
{
string[] show1 = splitshow.Split(new[] { ",?;" }, StringSplitOptions.None);
episode = show1[0];
name = show1[1];
showslist.Add(new show { name = name, episode = episode });
}
Output.ItemsSource = showslist;
Run Code Online (Sandbox Code Playgroud)
奇怪的是,只有当我放在Output.ItemsSource = showslist;foreach循环内部时才会显示列表,但是当它在外面时却不会显示,我真的不明白它为什么不是.我的意思是列表的元素已经添加到它没有它们?
已经尝试了许多不同的方法,其中大多数方法即使他们确实显示列表数据有许多不同的问题,太复杂,无法解决.
无论如何,感谢任何提示或帮助,谢谢.
我有一个asp.net webforms应用程序.每个aspx.cs类都需要从继承自System.Web.UI.Page的BasePage.cs继承.
所需页面继承:
class MyChildPage : BasePage : System.Web.UI.Page
Run Code Online (Sandbox Code Playgroud)
如何在创建新子页面时强制它从BasePage.cs而不是System.Web.UI.Page继承?
潜在解决方案
注意:这些子页面共享相同的母版页,这可能会有所帮助.
我只需要从 Hospital 表中选择两列,HospitalId 和 Name。我尝试了下面的代码,它从 Hospital 表中选择了所有列,这导致了性能下降。请帮我从 Hospital 表中只选择两列
public HttpResponseMessage GetAvailableHospitalsByAjax(System.Guid? DirectorateOfHealthID = null, System.Guid? UnitTypeID = null, string DeviceTypeIDs = null)
{
Context db = new Context();
var query = db.Hospitals.AsQueryable();
if (UnitTypeID != null)
{
query = query.Where(j => j.HospitalDepartments.Any(www => www.Units.Any(u => u.UnitTypeID == UnitTypeID)));
}
if (DirectorateOfHealthID != null)
{
query = query.Where(h => h.DirectorateHealthID == DirectorateOfHealthID);
}
query = query.Where(j => j.HospitalDepartments.Any(u => u.Units.Any(d => d.Devices.Any(s => s.Status == Enums.DeviceStatus.Free)))
&& j.HospitalDepartments.Any(hd => hd.Units.Any(u …Run Code Online (Sandbox Code Playgroud) public abstract class Entity : IEntity
{
[Key]
public virtual int Id { get; set; }
}
public class City:Entity
{
public string Code { get; set; }
}
public class BaseViewModel:IBaseViewModel
{
public int Id { get; set; }
}
public class CityModel:BaseViewModel
{
public string Code { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的域和视图类...
和
用于映射扩展
public static TModel ToModel<TModel,TEntity>(this TEntity entity)
where TModel:IBaseViewModel where TEntity:IEntity
{
return Mapper.Map<TEntity, TModel>(entity);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用如下
City city = GetCity(Id);
CityModel model = f.ToModel<CityModel, …Run Code Online (Sandbox Code Playgroud) 浏览字典的更好方法是什么?当我有IDictionary时,我曾经使用下面的代码:
假设我有IDictionary命名 freq
IEnumerator enums = freq.GetEnumerator();
while (enums.MoveNext())
{
string word = (string)enums.Key;
int val = (int)enums.Value;
.......... and so on
}
Run Code Online (Sandbox Code Playgroud)
但现在,我想用字典做同样的事情
我想做的是,从互联网上获取汇率.经过长时间的研究,我发现了这个功
protected void Button1_Click(object sender, EventArgs e)
{
try
{
string xmlResult = null;
string url;
url = "http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=" + TextBox1.Text + "&ToCurrency=" + TextBox2.Text + "";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader resStream = new StreamReader(response.GetResponseStream());
XmlDocument doc = new XmlDocument();
xmlResult = resStream.ReadToEnd();
doc.LoadXml(xmlResult);
Label1.Text = "Current Exchange Rate for " + TextBox1.Text.ToUpper() + " ---> " + TextBox2.Text.ToUpper() + " value " + doc.GetElementsByTagName("double").Item(0).InnerText;
}
catch(Exception ex)
{
Label1.Text="Not a valid Currency or Try …Run Code Online (Sandbox Code Playgroud) 我试图在textchanged事件下将文本框作为Rowfilter放置!
下面的代码用于GRID以获取相应的Reg_Number 或 Customer_Name在文本框中输入的代码!
wat的令人惊讶的事实是,这段代码直接采用了第二个论证
(即)
((DataTable)radGridView1.DataSource).DefaultView.RowFilter = "Reg_Number like '%" + radTextBoxControl1.Text + "%'";
试图改变线路,但不管我做了什么,它都会忽略第一个并取得第二个
我试图把AND放在一条线上,但是不行,请告诉我frnzz!
private void radTextBoxControl1_TextChanged(object sender, EventArgs e)
{
try
{
((DataTable)radGridView1.DataSource).DefaultView.RowFilter =
"Customer_Name like '%" + radTextBoxControl1.Text + "%'";
((DataTable)radGridView1.DataSource).DefaultView.RowFilter =
"Reg_Number like '%" + radTextBoxControl1.Text + "%'";
}
catch (Exception) { }
}
Run Code Online (Sandbox Code Playgroud) 为了好玩,我用Linq在C#中构建了一个quicksort实现:
public static IEnumerable<T> quicksort<T>(IEnumerable<T> input) where T : IComparable<T>{
if (input.Count() <= 1) return input;
var pivot = input.FirstOrDefault();
var lesser = quicksort(input.Skip(1).Where(i => i.CompareTo(pivot) <= 0));
var greater = quicksort(input.Where(i => i.CompareTo(pivot) > 0));
return lesser.Append(pivot).Concat(greater);
}
Run Code Online (Sandbox Code Playgroud)
它在大约13秒内对10000个随机整数进行排序.
将其更改为使用int []而不是List会使性能提高约700倍!对相同的10000个随机整数进行排序只需要21ms.
public static T[] quicksortArray<T>(T[] input) where T : IComparable<T>{
if (input.Count() <= 1) return input;
var pivot = input.FirstOrDefault();
var lesser = quicksortArray(input.Skip(1).Where(i => i.CompareTo(pivot) <= 0).ToArray());
var greater = quicksortArray(input.Where(i => i.CompareTo(pivot) > 0).ToArray());
return lesser.Append(pivot).Concat(greater).ToArray();
} …Run Code Online (Sandbox Code Playgroud) 一位客户报告了我们的软件“挂起”的问题。我最终设法找到了负责的代码段:
While strShortenedText.IndexOf(" ") > -1 'if there are two contiguous spaces
'anywhere in this string ...
strShortenedText = strShortenedText.Replace(" ", " ") '... replace each
'occurrence with a
'single string ...
End While '... and do this in a loop in order to handle situations with 3 or more
'contiguous spaces
Run Code Online (Sandbox Code Playgroud)
恐怕我无法在此处包含实际的字符串,因为它包含 GDPR 立法涵盖的数据,但我只是在寻找关于这如何可能进入无限循环的解释?
我发现的是:
strShortenedText.IndexOf(" ")返回大于-1的值,因此该字符串中的某处有两个连续的空格(我确保这些空格都是 0x20 即 char(32))" "在任何地方包含(2 个连续空格),并且我将" "(2 个连续空格)替换为" "(一个空格),那么,肯定(??????),strShortenedText之后.Replace的内容会比替换之前短?相反,我发现 …
c# ×8
linq ×2
winforms ×2
.net ×1
asp.net ×1
automapper ×1
c#-4.0 ×1
database ×1
foreach ×1
foreign-keys ×1
generics ×1
listview ×1
master-pages ×1
primary-key ×1
sql-server ×1
vb.net ×1
windows ×1
wpf ×1