当使用实体框架代码优先库的CTP 5(如宣布在这里)我试图创建一个映射到一个非常简单的层次结构表中的类.
这是构建表的SQL:
CREATE TABLE [dbo].[People]
(
Id uniqueidentifier not null primary key rowguidcol,
Name nvarchar(50) not null,
Parent uniqueidentifier null
)
ALTER TABLE [dbo].[People]
ADD CONSTRAINT [ParentOfPerson]
FOREIGN KEY (Parent)
REFERENCES People (Id)
Run Code Online (Sandbox Code Playgroud)
这是我希望自动映射回该表的代码:
class Person
{
public Guid Id { get; set; }
public String Name { get; set; }
public virtual Person Parent { get; set; }
public virtual ICollection<Person> Children { get; set; }
}
class FamilyContext : DbContext
{
public DbSet<Person> People { …Run Code Online (Sandbox Code Playgroud) 有些奇怪我无法理解.泛型通常是一件好事.它在编译时提供类型安全性.例如:
class A{}
class B{}
static void someMethod() {
List<B> listB = new ArrayList<B>();
listB.add(B);
listB.add(A); // here goes a compiler error
// but this will compile fine
List<Object> objList = new ArrayList<Object>();
objList.add("String");
objList.add(new Integer(9));
objList.add(B);
}
Run Code Online (Sandbox Code Playgroud)
那么,Java开发人员错过了什么?
我有一个实现的类expandable list activity.
在XML代码中(或者我可以在java中完成),我设置fastScrollEnabled为true.这样做可以实现快速滚动.但快速滚动仅适用于列表的顶部.就像我可以使用fastscroll拇指栏滚动整个列表,但只能在滚动条的顶部工作.它与整个列表不成比例.我可以将拇指栏拖动到列表的底部,但它不会滚动,因为listview它已经滚动到底部,因为它的奇怪行为只能在列表的顶部工作.
令我感到困惑,如果需要,我可以尝试澄清更多......
我确实实现了一个自定义 BaseExpandableListAdapter.
我正在尝试从服务发送广播到活动.我可以验证广播是从服务中发送的,但是活动不会发送任何内容.
这是相关的服务代码:
Intent i = new Intent(NEW_MESSAGE);
i.putExtra(FriendInfo.USERNAME, StringUtils.parseBareAddress(message.getFrom()));
i.putExtra(FriendInfo.MESSAGE, message.getBody());
i.putExtra("who", "1");
sendBroadcast(i);
Run Code Online (Sandbox Code Playgroud)
并且活动类中的接收端:
public class newMessage extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if(action.equalsIgnoreCase(IMService.NEW_MESSAGE)){
Bundle extra = intent.getExtras();
String username = extra.getString(FriendInfo.USERNAME);
String message = extra.getString(FriendInfo.MESSAGE);
String who = extra.getString("who");
}
}
}
Run Code Online (Sandbox Code Playgroud)
BroadcastReceiver在Activity中定义.我在Activity的onCreate方法中注册接收器,而不是在Manifest文件中.
我很难过为什么它不会记录.任何东西.
任何见解?
编辑
注册如下:
registerReceiver(messageReceiver, new IntentFilter(IMService.NEW_MESSAGE));
Run Code Online (Sandbox Code Playgroud)
其中"messageReceiver"定义为
private newMessage messageReceiver = new newMessage();
Run Code Online (Sandbox Code Playgroud)
IMService.NEW_MESSAGE只是一个string ="NewMessage"
我已经看到用于实现INotifyPropertyChanged的以下模式
private void NotifyPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释var handler = PropertyChanged赋值在检查null之前的必要性与直接检查PropertyChanged == null吗?
谢谢
对于Delphi中的编程练习,我希望一次在屏幕上滚动一个像素,并在每次移动时重新绘制它,因此看起来它实际上正在移动.目前Delphi只是在开始和结束时绘制它,所以它并不顺畅.我尝试了重绘和刷新,但都没有奏效.我也尝试让它变得可见和不可见,看看它是否有用,但没有运气.
image1.Visible := true;
for i := 0 to 50 do
begin
image1.Visible := false;
image1.Left := image1.Left + 1;
image1.Repaint(); // this doesn't work...
for j := 0 to 1000000 do
begin
k := i + j; // do nothing code
end;
image1.Visible := true;
end;
Run Code Online (Sandbox Code Playgroud)
有谁知道我错过了什么?谢谢.
我正在尝试使用html5与表单一起使用本地存储.我无法在网上找到一个工作演示.任何人都可以找到一个很好的演示和一个有效的教程.我的浏览器完全受支持.
感谢所有的帮助.谢谢
我正在寻找尝试理解字典中存储/检索机制的Item[TKey]来源Dictionary<TKey,TValue>,以及为什么它比仅逐个检查每个条目更快.
我迷茫的地方是在buckets场上的素数用户和相互作用Entry<TKey,TValue>.next.
有人可以向我解释逻辑,或指向我可以理解它的参考.
谢谢.
我想删除列中的最后一个字符,如果它以减号结束.我怎么能在postgresql中这样做?
例如:
sdfs-dfg4t-etze45z5z- => sdfs-dfg4t-etze45z5z
gsdhfhsfh-rgertggh => stay untouched
Run Code Online (Sandbox Code Playgroud)
我可以使用简单的语法吗?
android ×2
.net ×1
c# ×1
code-first ×1
collections ×1
delphi ×1
demo ×1
dictionary ×1
fastscroll ×1
file ×1
generics ×1
html ×1
html5 ×1
java ×1
javascript ×1
php ×1
postgresql ×1
sql ×1
upload ×1